【问题标题】:MySQL Chinese pinyin encoding issueMySQL中文拼音编码问题
【发布时间】:2011-11-05 08:06:50
【问题描述】:

我有一个 MySQL 数据库设置为 utf8。我的字符集/排序规则变量是:

变量名 | 价值

character_set_client | utf8

character_set_connection | utf8

character_set_database | utf8

character_set_filesystem |二进制

character_set_results | utf8

character_set_server |拉丁语1

character_set_system | utf8

collat​​ion_connection | utf8_general_ci

collat​​ion_database | utf8_general_ci

collat​​ion_server | latin1_swedish_ci

我有一个网页,显示来自我们的 MySQL 数据库的汉字和拼音。汉字显示正常,但拼音是乱码。例如,

显示:NánjÄ«ng 正确:南京

现在,我检查页面编码并将其设置为 UTF8。我在 PHP 中呼应了 Nánjīng,它显示得很好。我在命令行中检查了数据,它在数据库中是正确的。但是,每当它通过查询时,它会混淆拼音,而不是汉字。有人知道为什么会这样吗?

【问题讨论】:

标签: php mysql cjk


【解决方案1】:

我想通了。这是一个整理问题。我修改了 cnf 将 collat​​ion_server 变量设置为 utf8_general_ci,然后重新导入了我的数据,它工作正常......我不知道为什么我之前没有想到。

【讨论】:

    【解决方案2】:

    如果你想在mysql数据库中存储拼音,你必须通过base64_encode();对其进行编码,并且在显示时你必须通过base64_decode(); 最重要的之一,你必须在页面顶部使用 header('Content-Type: text/html; charset=utf8 general ci');

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-30
      • 2010-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-03
      • 2018-08-20
      相关资源
      最近更新 更多