我有一个网络,所有编码都设置为utf-8,但有时,我可以看到这个字符 现在,我遇到了问题,因为我想发一个ajax请求,如果这个字符存在,那么响应一片空白。
我真的不明白,因为例如,在这张图片中,你可以看到来自同一张桌子的文字,显示确定并且带有这个角色。 我以为这是php文件的编码,并将其更改为utf-8,ansi等,但没关系,结果有时更糟糕
可以是将数据保存到数据库的浏览器吗?我不这么认为,但我要问
那么,我该如何处理呢?我甚至尝试使用utf8_encode
并解码,但情况更糟
我真的不知道还有什么可以尝试的
希望你能帮我
感谢
http://uhma.mx/uploads/images/character.png
答案 0 :(得分:1)
您需要获取UTF-8
,assuming mysql中显示的所有数据:
utf-8
SET NAMES 'utf-8'
和SET CHARSET 'utf-8'
如果您需要从数据库默认值(通常是latin1
)转换字符集,那么已经great answer for that here on stack overflow。
另外发送Content-Type
标头指定字符集:
header('Content-Type: text/html; charset=utf-8');
并添加<meta />
标记和charset:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
答案 1 :(得分:1)
检查您的文件是否使用UTF-8进行编码而不使用BOM。通过设置:
确保您的PHP使用UTF-8header('Content-Type: text/html; charset=utf-8');
如果结果来自外部源,例如DB,请检查那里的charset / collation。那是一个开始。还要检查原始字符串是否包含正确的字符,或者是否有这种乱码。