PHP编码问题

时间:2013-08-12 19:48:41

标签: php mysql ajax encoding

我刚刚上传了一个新网站,并且遇到了最棘手的问题。我有一个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(),但没有用。网站上的其他所有内容看起来都很好,这只是搜索结果。非常感谢任何建议。

2 个答案:

答案 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表格和/或网页中的字符类型有不同的默认值。