• 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之后版本中的乱码问题

Tag:No Tags

发表评论

This is a captcha-picture. It is used to prevent mass-access by robots. (see: www.captcha.net)

请输入验证码,范围: 0..9A..F

  

看不清,换一张