动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > MySQL教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ MySQL教程 ]的信息

本月文章推荐
.MySQL数据库在网络安全方面的一些.
.MySQL沿用旧版GPL 两手准备仍参与.
.关于在 win2000 下安装 mysql 的.
.巧用MySQL InnoDB引擎锁机制解决.
.将数据从MySQL迁到Oracle的几点注.
.通过Access从Web获取MySQL数据.
.教你快速了解公共MySQL的数据库服.
.图解MySQL数据库的安装和操作.
.MySQL进阶_SELECT篇(二).
.MySQL数据库函数详解(1).
.如何把access转换到mysql.
.MySQL中修改密码及访问限制设置详.
.Mysql数据库操作新手入门,手把手.
.详细讲解如何用SQLyog来分析MySQ.
.选择MySQL还是SQL Server .
.数据库应用经验:如何简单安装My.
.SQL Server 7.0 的数据迁移到MyS.
.MySQL优化全攻略-服务器参数调整.
.讲解MySQL数据库的数据类型和建库.
.MySQL 5.0 新特性教程 存储过程:.

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

发表日期:2007-3-30 |


这几天在尝试安装mambo 4.53h版, 由于我的数据库是mysq4.1以上版本,并且设定的字符集是UTF8 。在尝试安装了几次后发现以下几种情况:

1. 将数据库设置为 latin1 ,  不修改任何文件,在安装时无论选择gb2312 还是utf8,都可以完成安装,并且网页显示正常,但是通过phpmyadmin看数据表时发现,里面所有中文全部为乱码,也就是说,通过latin1字符集保存,可以正常显示中文网页,但是实际上在数据库中中文是乱码。 而且不能通过phpmyadmin备份(备份出来的文件,无论改成什么编码,里面中文均为乱码)。所以这不是王道,我没有做选择考虑。

2. 将数据库字符集设置成utf8, 不修改任何文件,在安装时无论选择gb2312还是utf8,都出现 1071  specified  key  too  long  max  length  1000  bytes  的错误。并且只要是数据库字符集设置成utf8,(utf8是一个 character set  作为 3 bytes存储,latin1 是作为1 bytes存储),无论是按照论坛中的一些意见,修改 installation/sql/mambo.sql 还是别的文件, 都会出现key 超过1000bytes的错误,安装不能继续。

我本意是要安装manbo的中文utf8版本,以方便和别的程序整合。所以在查询了google,论坛和其他一些资料后,经过尝试,终于以我的想法,以选择 manbo的utf8 字符集 在mysql4.1以上,并且字符集也是utf8 的数据库中安装成功。 网页显示中文正常,无乱码,并且用phpmyadmin查询数据库表时,所有中文也都显示正常,并且以utf8保存。以下是我的解决方法,仅供参考:

 


首先设置数据库字符集为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_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的一些资料后,经过尝试完成修改并经测试没有问题的。希望对碰到同样问题的朋友有些用处!觉得有用的朋友顶一下,要对得起我写的那么多东西啊。

上一篇:mysql5.0 绿色安装 人气:12136
下一篇:MySQL的启动方法(windows 平台) 人气:4791
浏览全部MySQL的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-10-15 自由岭峰行业专用留言系统 v1.87
2008-10-15 Tikiwiki v1.9.11 多国语言版
2008-10-15 Roclog v3.1.6.28
2008-10-15 谷秋精品课程开发系统 v2.1
2008-10-15 pageadmin企业网站管理系统 v2.1
2008-10-15 晴天免费电影系统完整版(带迅雷采
2008-10-15 PHP-B2B v2.4.0 UTF8 Beta版
2008-10-15 云峰多用户网络进销存B/S v2.1
2008-10-15 Qspace v1.1.1 Access
2008-10-11 联系人分组工具 v1.1 中文破解版
2008-10-11 FaceMelter变脸 v2.0 汉化破解版
2008-10-11 PathTracker道路跟踪仪 v1.2 破解
2008-10-11 Rooms手机聊天室 v0.6.7 破解版
2008-10-11 RemoteDesktop远程桌面 v1.0 破解
2008-10-11 ProRemote远程调音台 v1.0.1 破解
2008-10-11 PicShare照片共享 v1.0.0 破解版
2008-10-11 Photogene照片编辑器 v1.5 汉化破
2008-10-11 WriteRoom共享文档 v1.0 破解版
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | 广告代码 | js/vbs加密 | md5加密 | 进制转换 | UTF-8 转换工具 | Html转换js | Html转换asp | Html转换php | Html转换perl
实用工具:汉字翻译拼音 | 拼音字典 | 符号对照表 | 个税计算 | 实时汇率查询换算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 | 国家代码与域名缩写 | 文字加密解密 | 健康查询 | 万年历 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号