发新话题
打印

[原创]MySQL 4.1.x 版本安装 mambo 乱码解决方案

[原创]MySQL 4.1.x 版本安装 mambo 乱码解决方案

赶新潮装了MySQL 4.1.11,一装mambo发现乱码问题严重,查资料得知是MySQL 4.1.x多语种支持带来的麻烦,既然是多语种那我们就能让它乖乖地使用GBK :

安装前修改/includes/database.php
在58行之后加上
复制内容到剪贴板
代码:
mysql_query("SET NAMES 'GBK'",$this->_resource);
当然这个'GBK'你可以用'GB2312'或'UTF-8',主要是为了一连接成功就设置默认编码方式,一劳永逸

改后的附近几行代码如下
复制内容到剪贴板
代码:
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__ );
好了,照常安装mambo,看看,久违的简体中文出来了吧

鄙人的测试环境
winxp + IIS +PHP5.04
MySQL 4.1.11
mambo4.52中文黄金版


版主注:(如果使用此方法不行,请参考http://bbs.mambochina.net/viewthread.php?tid=8740

[ 本帖最后由 zijie 于 2006-4-1 16:38 编辑 ]

TOP

效果不明显啊

安装mysql时就已经指定gbk了

现在主要是在搜索时会出现乱码

http://dato.minidns.net/mambo/component/option,com_search/Itemid,40/
附件: 您所在的用户组无法下载或查看附件
[url=http://dato.minidns.net]http://dato.minidns.net[/url] 闲时记得来这里添砖加瓦 [url=http://wiki.mambochina.net/index.php/%E5%A6%82%E4%BD%95%E7%BC%96%E8%BE%91%E9%A1%B5%E9%9D%A2]http://wiki.mambochina.net[/url]

TOP

[讨论]关于后台

mysql里指定的是mysql本身的存储 charset整理方式,我们要改的是PHP取出数据以后的整理方式。
要完美一点解决搜索问题,安装包里的SQL语句也要改,建一个表最后都要加上ENGINE=MyISAM DEFAULT CHARSET=gbk 什么的,不放心的话附件有我把我改好的4.52版,不过改用了mysqli引擎(不是说这个比较好么),PHP.ini里要打开这个选项,另外我只修改了mambo.sql,如果是升级安装的话调用的不是这个脚本,兄台自己照着改吧。
附件: 您所在的用户组无法下载或查看附件

TOP

在IE里选择'查看'-->'编码'-->'简体中文'就可以了啊!

TOP

请问楼主是如何在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
= = = = = = = = = =

这该如何解决呀?

TOP

这个好象跟操作系统也有关系。我前天在家里电脑上安装mysql4.1就一切正常,汉字显示正确。但是,我今天在单位电脑上安装mysql4.1后,曼波就出现了乱码。我又试着将家里电脑里的DB直接copy到单位机器上,替换掉我安装mmambo时产生的db,汉字显示就正常。这是什么原因?

TOP

[问题]我尝试了多次还是无法解决?!

我尝试了多次还是无法解决?!
:cry:  :cry:  :cry:  :cry:  :cry:
测试环境:
FreeBSD 5.4+Apache 2.0
PHP5.04
MySQL 4.1.13
mambo4.52中文黄金版
==========================
还望楼主赐教!!
联系:QQ 2269683

TOP

安装后能不能解决。

TOP

我也出现了同样的问题!

引用:
原帖由 微型计算机 于 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`
...
有待于高手帮忙解决!
TSC条码打印机华东地区总代理,经销全球各知名品牌条码打印机、条码阅读器、条码扫描平台、线号机、证卡打印机、数据采集器以及相关耗材!http://www.ksbarcode.com/

TOP

把两个240改为120
mambo整合discuz同步注册登录,全站utf-8编码,php5+mysql5
http://www.bytea.net

TOP

搂主的那条语句放的位置不对吧

应该是放在外面才对,害得我弄了半天,又看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'");

TOP

嗯,我看了一下我的修改,确实是放在外面,可以参照帖子http://bbs.mambochina.net/viewthread.php?tid=8740
mambo整合discuz同步注册登录,全站utf-8编码,php5+mysql5
http://www.bytea.net

TOP

发新话题