【问题标题】:Manipulating accents in php code在 php 代码中操作重音符号
【发布时间】:2012-12-09 21:38:02
【问题描述】:

我想从 MySQL 数据库中检索一些 JSON 格式的数据。

我的表的排序规则设置为utf8_general_ci。在我的 PHP 代码中,我有这个代码:

/* change character set to utf8 */
if (!$mysqli->set_charset("utf8")) {
    printf("Error loading character set utf8: %s\n", $mysqli->error);
} else {
    printf("Current character set: %s\n", $mysqli->character_set_name());
}

但是当浏览器检索页面时,带有重音的单词无法正确显示。例如,“á”表示为“\u00e1”。

我在这里错过了什么?

【问题讨论】:

  • mysql 连接与服务器->浏览器无关。您需要告诉浏览器您正在使用带有适当字符集/内容类型标头的 UTF。

标签: php mysql utf-8 collation


【解决方案1】:

HTML:<meta charset="utf-8" />

信息:http://www.joelonsoftware.com/articles/Unicode.html

【讨论】:

    【解决方案2】:

    您只是在查看编码的 JSON,没有真正的问题。当你解码 JSON 时,你会再次得到á

    $a = json_encode( 'á' );
    echo $a; //'"\u00e1"'
    echon json_decode( $a ); // 'á' 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-15
      • 1970-01-01
      • 2012-03-22
      • 1970-01-01
      • 1970-01-01
      • 2013-04-13
      • 1970-01-01
      • 2018-10-17
      相关资源
      最近更新 更多