【问题标题】:Text cut off with special characters用特殊字符截断的文本
【发布时间】:2015-04-21 11:53:27
【问题描述】:

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在出现特殊字符时保存整个帖子而不切断内容?

【问题讨论】:

    标签: php wordpress encoding collation


    【解决方案1】:

    这样的截断很可能来自 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);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-08
      • 1970-01-01
      • 2014-03-18
      • 2014-07-26
      相关资源
      最近更新 更多