快速业务通道

教你如何解决453h安装在mysql 4.1 以上的UTF8数据库中造成的乱码和安装失败问题

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-03-17
o 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_query("SET NAMES ''utf8''", $this->_resource);

 

CODE:[Copy to clipboard]mysql_query("SET CHARACTER SET utf8", $this->_resource);

 

CODE:[Copy to clipboard]mysql_query("SET COLLATION_CONNECTION=''utf8_general_ci''", $this->_resource);
修改后保存。


安装的时候,选择UTF8作为编码格式安装。

 

如此修改后能够正常安装,并且在数据库中的中文显示和保存都正常,如果需要整合discuz或者其他程序的时候,也能够选择UTF8版本,并且整合后不会出现在注册时使用中文用户名,但是注册后显示为乱码的现象。

注意事项
经本方法修改后,请在升级manbo的时候,对 includes/database.php 做相应的修改,否则会出错。

以上修改方法是我参考了论坛中的几位达人以及通过google搜索查到的一些英文资料,还有TW manbo的一些资料后,经过尝试完成修改并经测试没有问题的。希望对碰到同样问题的朋友有些用处!觉得有用的朋友顶一下,要对得起我写的那么多东西啊。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号