自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

453 h安裝在MySQL 4.1的亂碼問題

數(shù)據(jù)庫 MySQL
以下的文章主要介紹的是正確解決453 h安裝在MySQL 4.1 以上的UTF8數(shù)據(jù)庫中所造成的亂碼與其安裝失敗的問題,以下就是文章的主要內(nèi)容描述。

此文章主要是教會你如何正確解決453 h安裝在MySQL 4.1 以上的UTF8數(shù)據(jù)庫中所造成的亂碼與其安裝失敗的問題,我這幾天在嘗試安裝mambo 4.53h版, 由于我的數(shù)據(jù)庫是mysq4.1以上版本,并且設(shè)定的字符集是UTF8 。

在嘗試安裝了幾次后發(fā)現(xiàn)以下幾種情況:

 

1. 將數(shù)據(jù)庫設(shè)置為 latin1 , 不修改任何文件,在安裝時無論選擇gb2312 還是utf8,都可以完成安裝,并且網(wǎng)頁顯示正常,但是通過phpmyadmin看數(shù)據(jù)表時發(fā)現(xiàn),里面所有中文全部為亂碼,也就是說,通過latin1字符集保存,可以正常顯示中文網(wǎng)頁,但是實(shí)際上在數(shù)據(jù)庫中中文是亂碼。 而且不能通過phpmyadmin備份(備份出來的文件,無論改成什么編碼,里面中文均為亂碼)。所以這不是王道,我沒有做選擇考慮。

2. 將數(shù)據(jù)庫字符集設(shè)置成utf8, 不修改任何文件,在安裝時無論選擇gb2312還是utf8,都出現(xiàn) 1071 specified key too long max length 1000 bytes 的錯誤。并且只要是數(shù)據(jù)庫字符集設(shè)置成utf8,(utf8是一個 character set 作為 3 bytes存儲,latin1 是作為1 bytes存儲),無論是按照論壇中的一些意見,修改 installation/sql/mambo.sql 還是別的文件, 都會出現(xiàn)key 超過1000bytes的錯誤,安裝不能繼續(xù)。

我本意是要安裝manbo的中文utf8版本,以方便和別的程序整合。所以在查詢了google,論壇和其他一些資料后,經(jīng)過嘗試,終于以我的想法,以選擇 manbo的utf8 字符集 在MySQL4.1以上,并且字符集也是utf8 的數(shù)據(jù)庫中安裝成功。 網(wǎng)頁顯示中文正常,無亂碼,并且用phpmyadmin查詢數(shù)據(jù)庫表時,所有中文也都顯示正常,并且以utf8保存。以下是我的解決方法,僅供參考:

 

首先設(shè)置數(shù)據(jù)庫字符集為utf8,

 

 

CODE:[Copy to clipboard]ALTER DATABASE DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci

 

或者通過phpmyadmin里面直接改也一樣。

 

 

修改 installation/sql/mambo.sql 文件:

 

查找將所有的

 

CODE:[Copy to clipboard]TYPE=MyISAM;

 

替換成

 

 

CODE:[Copy to clipboard]TYPE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

 

查找

 

 

CODE:[Copy to clipboard]UNIQUE KEY `section_value_value_aro` (`section_value`,`value`)

 

 

 

CODE:[Copy to clipboard]UNIQUE KEY `#__gacl_section_value_value_aro` (`section_value`,`value`),

 

并將這2行代碼用 # 注釋掉,或者刪除,whatever~~

 

在這一段代碼下面,也就是

 

CODE:[Copy to clipboard]# Table structure for table `#__core_acl_aro_groups`

 

上面,按順序增加以下4行代碼:

 

 

CODE:[Copy to clipboard]ALTER TABLE `#__core_acl_aro` CHANGE `section_value` `section_value` VARCHAR( 240 ) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL default '0';

 

CODE:[Copy to clipboard]ALTER TABLE `#__core_acl_aro` CHANGE `value` `value` VARCHAR( 240 ) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL default '';

CODE:[Copy to clipboard]ALTER TABLE `#__core_acl_aro` ADD UNIQUE `section_value_value_aro` ( `section_value` , `value` );

CODE:[Copy to clipboard]ALTER TABLE `#__core_acl_aro` ADD UNIQUE `#__gacl_section_value_value_aro` (`section_value`,`value`);

 

修改 includes/database.php 文件:

查找

 

 

CODE:[Copy to clipboard]$this->_table_prefix = $table_prefix;

 

在該行代碼下面添加以下三行代碼:

 

 

CODE:[Copy to clipboard]MySQL 4.1 query("SET NAMES 'utf8'", $this->_resource);

 

CODE:[Copy to clipboard]MySQL(和PHP搭配之***組合)_query("SET CHARACTER SET utf8", $this->_resource);

CODE:[Copy to clipboard]MySQL(和PHP搭配之***組合)_query("SET COLLATION_CONNECTION='utf8_general_ci'", $this->_resource);

修改后保存。

 

 

安裝的時候,選擇UTF8作為編碼格式安裝。

 

如此修改后能夠正常安裝,并且在數(shù)據(jù)庫中的中文顯示和保存都正常,如果需要整合discuz或者其他程序的時候,也能夠選擇UTF8版本,并且整合后不會出現(xiàn)在注冊時使用中文用戶名,但是注冊后顯示為亂碼的現(xiàn)象。

注意事項(xiàng)

經(jīng)本方法修改后,請在升級manbo的時候,對 includes/database.php 做相應(yīng)的修改,否則會出錯。

 

以上修改方法是我參考了論壇中的幾位達(dá)人以及通過google搜索查到的一些英文資料,還有TW manbo的一些資料后,經(jīng)過嘗試完成修改并經(jīng)測試沒有問題的。希望對碰到同樣問題的朋友有些用處!覺得有用的朋友頂一下,要對得起我寫的那么多東西啊。

 

【編輯推薦】

  1. MySQL EMS的亂碼問題的殲滅
  2. MySQL表索引遭到破壞的處理方法
  3. 建立MySQL鏡像數(shù)據(jù)庫在linux下很簡單
  4. 開源攜手MySQL數(shù)據(jù)庫的發(fā)展前景
  5. MySQL root 密碼忘記的破解
責(zé)任編輯:佚名 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2010-05-13 16:51:34

MySQL4.1

2011-05-16 10:31:19

mysql亂碼

2010-06-13 09:40:03

MySQL4.0

2011-03-22 16:09:33

MySQL 5.0.1亂碼

2010-06-10 14:03:00

MySQL EMS

2010-06-10 14:03:00

MySQL EMS

2010-05-25 11:24:34

MySQL 亂碼

2022-01-26 19:42:05

MySQL亂碼排查

2010-05-20 17:24:19

Apache PHP

2010-11-24 15:22:51

MySQL命令行

2010-05-20 15:32:07

2010-06-07 11:13:46

MySQL中文亂碼

2010-05-21 11:07:55

MySQL 5 亂碼問

2011-08-08 10:29:12

MySQL

2012-07-02 10:13:05

Android 4.1

2010-06-01 09:32:09

MySQL數(shù)據(jù)庫

2010-06-02 16:36:38

連接MySQL中文亂碼

2010-06-09 14:54:29

2010-05-19 17:01:04

MySQL數(shù)據(jù)庫

2009-07-01 00:23:40

MySQL字符集亂碼
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號