>我有一个网络,所有编码都设置为 utf-8,但有时,我可以看到这个字符,现在,我遇到了问题,因为我想发出 ajax 请求,如果这个字符存在,响应为空。
我真的不明白,因为例如,在此图像中,您可以看到来自同一表的文本,显示 ok 并带有此字符。我以为那是php文件的编码,把它改成utf-8、ansi等,但没关系,结果有时更糟
可能是将数据保存到数据库的浏览器? 我不这么认为,但我必须问
那么,我该如何处理呢? 我什至尝试使用utf8_encode
和解码,但情况更糟我真的不知道还能尝试什么希望你能帮助我谢谢
http://uhma.mx/uploads/images/character.png
您需要获取所有以 UTF-8
显示的数据,假设 mysql:
- 将所有列的编码设置为
utf-8
- 打开数据库连接后立即执行
SET NAMES 'utf-8'
和SET CHARSET 'utf-8'
如果您需要从数据库默认值(通常latin1
)转换字符集,那么堆栈溢出已经有很好的答案。
另外发送指定字符集Content-Type
标头:
header('Content-Type: text/html; charset=utf-8');
并添加带有字符集<meta />
标签:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<</div>
div class="answers"> 检查您的文件是否在没有 BOM 的情况下使用 UTF-8 编码。通过设置以下命令确保您的 PHP 使用 UTF-8:
header('Content-Type: text/html; charset=utf-8');
如果结果来自外部源(如数据库),请检查那里的字符集/排序规则。这是一个开始。还要检查原始字符串是否包含正确的字符,或者它是否包含该乱码。