[原创]WordPress数据库编码完美修正方案
WordPress数据库编码完美修正方案
- php5.x
- mysql5.x
- apache2.x
我在将环境升级以后,发现phpmyadmin中看到的中文内容都是乱码.导出后也是乱码.不过用wordpress的WordPress Database Backup 1.7进行备份,却是正确的中文.
我的数据库已经使用了正确的utf8_general_ci
摸索了一下午,解决方法如下:
全新安装WordPress 修正办法:
1.新建数据库时,使用utf8_general_ci编码
2.修改wp-includes/wp-db.php, 在第43行
$this->dbh = @mysql_connect($dbhost, $dbuser, $dbpassword);
之后加入一行
$this->query("SET NAMES 'utf8'");
这样,在你发表文章或修改设置时的中文内容,由于设定了正确的MYSQL编码连接,数据库里的内容编码才会是正确的.
已安装WordPress 解决办法:
1. 用WordPress Database Backup 1.7进行数据库备份.用EDITPLUS之类的软件打开查看,确保看到的是中文.
2. 新建一个utf8_general_ci编码的数据库
3. 用PHPMYadmin导入或其他工具导入,注意: 导入完成后,在PHPMYADMIN里所看到的内容,不能是乱码.导入时,编码选择 UTF8
4. 修改wp-includes/wp-db.php, 在第43行
$this->dbh = @mysql_connect($dbhost, $dbuser, $dbpassword);
之后加入一行
$this->query("SET NAMES 'utf8'");
经过以上修改,就完美了.
本站也将发布修正版本供大家下载.
建议大家使用MySQL 4.1以上版本对数据库,学习一下编码方面的内容,养成良好的程序编写习惯.
关于编码方面的文章,大家可以看看
http://www.21andy.com/new/20060513/288.html
http://www.21andy.com/new/20060514/297.html
本文由WordPress中文网http://www.wordpress-cn.com原创,转载请注明出处.
Incoming search terms:
Tags: 编码
niu x
用WordPress Database Backup 1.7备份,有一部份是乱码,那怎么办???
再得加上“$this->query(”SET NAMES ‘utf8′”);”这条命令,程序运费错误!
请注意符号,不要照抄.
$this->query("SET NAMES 'utf8'");
这样就对了
我的BLOG自动将小分号和大分号给转了,所以你自己改一下.
我用WordPress Database Backup 1.7从旧数据库里备份出来的字符编码latin1,怎样才可以改变成UTF8呢?并且备份文件一部份为中文,部份为乱码!比喻分类是乱码的,但留言与文章是中文,但有一些原是中文名的留言ID又是乱码?并且用PHPMYADMIN导入时总是中途停了,可能是数据太大了,有什么好的方法可以解决我这样的问题呢?我的新数据库已是utf8_general_ci编码.谢谢andy了
一个早上上来看了10次,还是没有回复,呵呵,急!
备份:不管用什么工具导出,确保最终是正确的中文.如果不是,自己想办法修复.然后可以用EDITPLUS另存为UTF8编码的.
恢复:请使用MYSQL4.1以上版本,导入后确保在PHPMYADMIN里看到的是中文.其他工具有很多,比如faisunSQL或命令行.
[...] WordPress数据库编码完美修正方案 - Andy’s Blog [...]
[...] 经过查看许多网志(Andy、佐仔、土路托、桑椹等)后终于知道,这是由于 wordpress 自身默认使用的 Latin1 在作怪。要想使得数据库内中文内容正常显示,我们就得把它转换成 utf8 编码。这个过程很简单,只需要下面简单的几步: [...]
如果不能建立一个新的数据库,而数据库的编码也不是utf8_general_ci,请问该怎么解决?
[...] 全新安装WordPress 修正办法: 1.新建数据库时,使用utf8_general_ci编码 2.修改wp-includes/wp-db.php $this->dbh = @mysql_connect($dbhost, $dbuser, $dbpassword); 之后加入一行 $this->query("SET NAMES 'utf8'"); 这样,在你发表文章或修改设置时的中文内容,由于设定了正确的MYSQL编码连接,数据库里的内容编码才会是正确的. [...]
[...] 如果你之前做个WordPress的mysql数据库编码转换的话,那你升级WordPress 2.0.5时中文部份全都会显示成?号。如果你按照土路的世界写的”mysql数据库编码转换之道“和Andy写的“WordPress数据库编码完美修正方案”或我写的”WordPress的mysql数据库编码转换之绝路招式!“的方法转换了数据编码的,那在你升级WordPress 2.0.5后还要做以下一步工作。 [...]