文字被特殊字符切断

时间:2015-02-19 22:23:05

标签: php wordpress encoding collation

保存帖子后,WordPress或PHP正在切断文本。当存在像'或'这样的特殊字符时会发生这种情况。 例如,如果我输入以下文字:

This isn’t working

然后我保存帖子,帖子将是:

This isn

我认为不是MySQL,因为我输入了相同的文本并且它有效。 wp-config.php包含以下内容:

define('DB_CHARSET', 'utf8');
define('DB_COLLATE', '');

我用

进行了测试
define('DB_CHARSET', 'utf8');
define('DB_COLLATE', 'latin1_swedish_ci');

mysql数据库有latin1_swedish_ci排序规则,表格有utf8_general_ci排序规则。

我也试图改变表格整理,但它没有用。我使用的是最新的WordPress版本。我没有经过整理或编码的经验。所以,我的问题是:是否有一种方法可以让WordPress保存完整的帖子而不会在出现特殊字符时切断内容?

1 个答案:

答案 0 :(得分:0)

这样的截断可能来自latin1 bytes 被送到utf8字段。

如果您的客户端(PHP或其他)正在生成latin1字符,那么您必须告诉服务器:

⚈  mysql: mysql_set_charset('utf8');  (deprecated)
⚈  mysqli: $mysqli_obj->set_charset('utf8');
⚈  PDO: $db = new PDO('dblib:host=host;dbname=db;charset=UTF-8', $user, $pwd);