phpMyAdmin 不会在数据库中正确显示或插入 Unicode 字符
Posted
技术标签:
【中文标题】phpMyAdmin 不会在数据库中正确显示或插入 Unicode 字符【英文标题】:phpMyAdmin won't display or insert Unicode characters properly into database 【发布时间】:2015-08-08 19:46:12 【问题描述】:我正在使用 phpMyAdmin 4.4.4 版和 mysql 5.6(字符集设置为 UTF-8 Unicode)。有问题的表的排序规则设置为utf8-general-ci
,所有字段也设置为utf8-general-ci
排序规则。我的 php.ini 文件有default_charset = "UTF-8"
。
尽管所有三个应用程序都设置了 UTF-8,但在 phpMyAdmin 中查看表格时 unicode 字符会出现乱码。所以,与其看...
Søren
...在 phpMyAdmin 我看到...
Søren
即使它在 phpMyAdmin 中显示为乱码,它在网站上也能正确显示。唯一的问题是 phpMyAdmin。
如果我尝试使用 phpMyAdmin 插入新记录并在文本字段中输入 Søren
,它会在 phpMyAdmin 中显示如下...
Søren
那里看起来是正确的,但是,在网页上,它显示如下......
S�ren
ø 字符被替换为黑色菱形内的问号,而不是在网站上显示正确的 unicode 字符。
这到底是怎么回事?如何使 phpMyAdmin 显示并将 unicode 字符正确插入表格而不破坏它们?谢谢!
【问题讨论】:
你试过了吗? ***.com/questions/4777900/… @Fabricator 您指的是所选答案吗?我的 phpMyAdmin 安装中没有名为 /libraries/dbi/mysqli.dbi.lib.php 的文件。 其他得分较高的答案呢? 【参考方案1】:我的 php.ini 文件有 default_charset = "UTF-8"。
这只影响用于某些 PHP 内置函数的字符集,例如 htmlentities
。
MySQL 使用自己的字符集来解码您发送给它的内容。这可以使用$mysqli->set_charset('utf8')
设置mysqli,或mysql_set_charset('utf8')
设置已弃用的mysql 模块,或者在PDO 的连接字符串中使用charset=utf8
。
【讨论】:
以上是关于phpMyAdmin 不会在数据库中正确显示或插入 Unicode 字符的主要内容,如果未能解决你的问题,请参考以下文章
Django-Admin 面板不会显示插入的记录抛出 phpmyadmin?