cds 2005-5-14 04:06
[原创]MySQL 4.1.x 版本安装 mambo 乱码解决方案
赶新潮装了MySQL 4.1.11,一装mambo发现乱码问题严重,查资料得知是MySQL 4.1.x多语种支持带来的麻烦,既然是多语种那我们就能让它乖乖地使用GBK :
安装前修改/includes/database.php
在58行之后加上
[code]mysql_query("SET NAMES 'GBK'",$this->_resource);[/code]
当然这个'GBK'你可以用'GB2312'或'UTF-8',主要是为了一连接成功就设置默认编码方式,一劳永逸
改后的附近几行代码如下
[code]if (!($this->_resource = @mysql_connect( $host, $user, $pass ))) {
//or die( 'FATAL ERROR: Connection to database server failed.' );
mysql_query("SET NAMES 'GBK'",$this->_resource);
$mosSystemError = 2;
$basePath = dirname( __FILE__ );[/code]
好了,照常安装mambo,看看,久违的简体中文出来了吧
鄙人的测试环境
winxp + IIS +PHP5.04
MySQL 4.1.11
mambo4.52中文黄金版
版主注:(如果使用此方法不行,请参考[url=http://bbs.mambochina.net/viewthread.php?tid=8740]http://bbs.mambochina.net/viewthread.php?tid=8740[/url])
[[i] 本帖最后由 zijie 于 2006-4-1 16:38 编辑 [/i]]
dato 2005-5-14 06:54
效果不明显啊
安装mysql时就已经指定gbk了
现在主要是在搜索时会出现乱码
http://dato.minidns.net/mambo/component/option,com_search/Itemid,40/
cds 2005-5-18 04:46
[讨论]关于后台
mysql里指定的是mysql本身的存储 charset整理方式,我们要改的是PHP取出数据以后的整理方式。
要完美一点解决搜索问题,安装包里的SQL语句也要改,建一个表最后都要加上ENGINE=MyISAM DEFAULT CHARSET=gbk 什么的,不放心的话附件有我把我改好的4.52版,不过改用了mysqli引擎(不是说这个比较好么),PHP.ini里要打开这个选项,另外我只修改了mambo.sql,如果是升级安装的话调用的不是这个脚本,兄台自己照着改吧。
Seiende 2005-7-23 22:14
在IE里选择'查看'-->'编码'-->'简体中文'就可以了啊!
微型计算机 2005-8-16 08:48
请问楼主是如何在Mysql 4.1.11上安装mambo的,我在安装时出错
SQL=Specified key was too long; max key length is 1000 bytes:
- - - - - - - - - -
# Table structure for table `xdzms_core_acl_aro`
CREATE TABLE `xdzms_core_acl_aro` (
`aro_id` int(11) NOT NULL auto_increment,
`section_value` varchar(240) NOT NULL default '0',
`value` varchar(240) NOT NULL default '',
`order_value` int(11) NOT NULL default '0',
`name` varchar(255) NOT NULL default '',
`hidden` int(11) NOT NULL default '0',
PRIMARY KEY (`aro_id`),
UNIQUE KEY `section_value_value_aro` (`section_value`,`value`),
UNIQUE KEY `xdzms_gacl_section_value_value_aro` (`section_value`,`value`),
KEY `hidden_aro` (`hidden`),
KEY `xdzms_gacl_hidden_aro` (`hidden`)
) TYPE=MyISAM
= = = = = = = = = =
这该如何解决呀?
netz 2005-8-17 12:43
这个好象跟操作系统也有关系。我前天在家里电脑上安装mysql4.1就一切正常,汉字显示正确。但是,我今天在单位电脑上安装mysql4.1后,曼波就出现了乱码。我又试着将家里电脑里的DB直接copy到单位机器上,替换掉我安装mmambo时产生的db,汉字显示就正常。这是什么原因?
blackhorse 2005-8-24 11:50
[问题]我尝试了多次还是无法解决?!
我尝试了多次还是无法解决?!
:cry: :cry: :cry: :cry: :cry:
测试环境:
FreeBSD 5.4+Apache 2.0
PHP5.04
MySQL 4.1.13
mambo4.52中文黄金版
==========================
还望楼主赐教!!
联系:QQ 2269683
tonny 2006-1-20 13:49
我也出现了同样的问题!
[quote]原帖由 [i]微型计算机[/i] 于 2005-8-16 08:48 发表
请问楼主是如何在Mysql 4.1.11上安装mambo的,我在安装时出错
SQL=Specified key was too long; max key length is 1000 bytes:
- - - - - - - - - -
# Table structure for table `xdzms_core_acl_aro`
... [/quote]
有待于高手帮忙解决!
tanyong2000 2006-4-1 11:27
搂主的那条语句放的位置不对吧
应该是放在外面才对,害得我弄了半天,又看MYSQL,又看PHP的参考资料
if (!($this->_resource = @mysql_connect( $host, $user, $pass ))) {
//or die( 'FATAL ERROR: Connection to database server failed.' );
$mosSystemError = 2;
$basePath = dirname( __FILE__ );
include $basePath . '/../configuration.php';
include $basePath . '/../offline.php';
exit();
}
mysql_query("SET NAMES 'gbk'");
zijie 2006-4-1 16:39
嗯,我看了一下我的修改,确实是放在外面,可以参照帖子[url]http://bbs.mambochina.net/viewthread.php?tid=8740[/url]