我刚刚上传了一个新网站,并且遇到了最棘手的问题。我有一个ajax / php搜索框,可以在用户输入时显示搜索结果。由于某些原因,在实时网站上搜索结果并不总是正确编码。有时它显示正确,但2秒后结果将如下所示:
Ak
�A<��l��&C-�F�2J�M����v��_ �]v��x���x�Q���(|ȩΜO����-x������q�ʎ�(N��(�����S�8�u��
}¸ l :( j N C : u x = 9se- j { r b1 Ov * [nZp“t5 ( h MhMğ1z“PG9edD_R8n%·J ^ g7C8hs } QA $
我在开发过程中将网站上传到其他网站托管服务商,但没有遇到此问题。我试过了utf8_encode()
,但没有用。网站上的其他所有内容看起来都很好,这只是搜索结果。非常感谢任何建议。
答案 0 :(得分:0)
您可能需要在头部标签之间添加以下内容。
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
答案 1 :(得分:0)
我在一年前实现了一个ajax / php搜索框,当名字中有重音符号时出现了很大的问题。解决方案的一部分涉及将MySQL表上的字符集更改为 utf8 (它已经 latin1 但我找不到方法让它工作)。
然后在返回搜索建议数据的ajax PHP脚本中,我在开头添加了这一行:
header('Content-type: application/json; charset=utf-8');
您的新托管服务很可能对MySQL表格和/或网页中的字符类型有不同的默认值。