我有一个设置为 utf-8 的 mysql 数据库。
我已将 php header 设置为:header("Content-Type: text/html; charset=utf-8");
在我的html中:<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
当我返回任何带有圆引号或撇号的内容时,它们显示为无法识别的字符(内部带有 ? 的黑色菱形)。
如果我对要回显的字符串运行 utf8_encode (),它在 Chrome 中看起来很好,但在 Firefox 中显示不同的奇怪字符。我还可以在整个站点范围内做些什么来使这项工作更好吗?
(我已经使用sequel pro和phpmyadmin访问了数据库)
最佳答案
完整的 utf-8 设置:
1) .htaccess
AddDefaultCharset utf-8
PHP_VALUE default_charset utf-8
2) 在 php 中的mysqli_connect()之后调用:
mysqli_query($this->link, 'SET character_set_client="utf8",character_set_connection="utf8",character_set_results="utf8"; ');
3) 您的数据库应使用“collation: utf8”字符集创建;表中的所有字段也应该是“排序规则:utf8”
4) 您的 PHP 文件也应该使用 utf8 字符集创建
关于php - 如何删除 utf-8 中无法识别的字符? mysql/php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4363020/