曼波中国
曼波社区
曼波知识库
曼波搜索

查看完整版本: [原创]MySQL 4.1.x 版本安装 mambo 乱码解决方案

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

ykscan 2005-9-19 21:11

安装后能不能解决。

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]

有待于高手帮忙解决!

zijie 2006-1-23 09:41

把两个240改为120

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]
页: [1]
查看完整版本: [原创]MySQL 4.1.x 版本安装 mambo 乱码解决方案