更改服务器后的字符编码问题
题
我最近将基于WordPress的网站从Dreamhost VPS移至运行Debian + LEMP的Linode VPS。在再次建立网站后,我注意到帖子中有许多错误的字符。诸如“和 - 被胡言乱语代替”之类的角色。
在进行了一些外观之后,似乎很明显问题与字符编码有关。
我找到了建议编辑的指南 wp-config.php
并评论台词:
define('DB_CHARSET', 'utf8');
和 define('DB_COLLATE', '');
我这样做了,它解决了问题,但我想知道这是否是最好的方法。谢谢您的建议。
解决方案
在整整一整天的工作上工作之后,我终于找到了一个完美工作的指南:
在此之前,我尝试关注 @RARST的信息,尝试导出数据库并手动清洁它,尝试使用此处修改版本的UTF-8 Sanitize插件 http://www.prelovac.com/vladimir/ultimate-solution-solution-to-weird-utf-character-concoding-problem (实际上效果很好,但没有修复所有角色。可能是一个可怕的主意)。
无论如何,如果你们中的任何一个遇到此问题,请查看我发布的第一个链接。该过程非常简单,基本上是替换的 SET NAMES latin1
和 SET NAMES utf8
导出数据库后,请确保将新的清洁数据库显式导入为UTF8。
其他提示
这是另一个对我有用的解决方案...
只是评论 DB_CHARSET
和 DB_COLLATE
在 wp-config.php
//define('DB_CHARSET', 'utf8');
//define('DB_COLLATE', '');
看 转换数据库字符集 在法典中。文章有关于以3.0.1版本完全重写的注释,因此信息应最新。
我将网站文件从旧目录转换为新目录,并且能够修改:
define('db_charset','utf8mb4');
至
define('db_charset','utf8');
这解决了黑色钻石空间问题。