- 24
- Mar
这里是我在phpmyadmin转的经历. 站点编码:UTF-8
1、首先我们在Mysql4.0的数据,使用UltraEdit打开.sql文件,为什么要使用UltraEdit应该他够好,不改变文件编码,对于5M上下的数据不会使电脑死机;如果你数据很大,那么你就要使用一些工具,比如: FaisunSQL 分卷导出.
2、 将数据中的,TYPE=MyISAM 修改为 ENGINE=MyISAM DEFAULT CHARSET=utf8 后保存.
3、进入mysql4.1的phpMyAdmin,设置如下:
语言设置为中文 - Chinese simplified
MySQL 连接校对:utf8_unicode_ci
要导入数据的那个数据库整理 字符集:utf8_general_ci
4、进入整理后的哪个数据库导入刚才修改后保存的数据,导入时将Character set of the file选为utf8
然后就慢慢等他完好导入数据.
5、中文汉字在数据库中写入为乱码,由于在mysql4.0中我们不存在这样的事,但是在mysql4.1中就会出现,所以我们要修改XOOPS程序.
打开:XOOPS/class/database/mysqldatabase.php
搜索:
$result = mysql_query($sql, $this->conn);
在他之前加上代码:
@mysql_query("SET NAMES 'utf8'", $this->conn);
修改结果参照如下:
else {
//just execute the query
@mysql_query("SET NAMES 'utf8'", $this->conn);
$result = mysql_query($sql, $this->conn);
}
6、如果你使用了WordPress那么也要修改这里:
XOOPS/modules/wordpress/wp-includes/wp-db.php 加入以下代码.
mysql_query("SET NAMES 'UTF8'");
mysql_query("SET CHARACTER SET UTF8");
修改结果参照如下:
function wpdb($dbuser, $dbpassword, $dbname, $dbhost) {
$this->dbh = @mysql_connect($dbhost, $dbuser, $dbpassword);
if (!$this->dbh) {
$this->bail("……");
}
$this->select($dbname);
mysql_query("SET NAMES 'UTF8'");
mysql_query("SET CHARACTER SET UTF8");
}
这里说的是站点编码:UTF-8,如果你站点使用的编码是gb2312,那相对的一些UTF8就要修改为gb2312 .
详细资料请看,完美解决XOOPS及WordPress在MySQL4.1之后版本中的乱码问题

