0

我刚刚上传了一个新网站,遇到了最奇怪的问题。我有一个 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�� Mh���Mg��̆1z�����"�P��G�9e�dD_R������8n %����.J^������g7��C8�hs��}�qa�$

我在开发过程中将该站点上传到了不同的 Web 主机,但没有遇到此问题。我试过utf8_encode()了,但没有帮助。网站上的其他一切看起来都很好,只是搜索结果。非常感谢任何建议。

4

2 回答 2

0

一年前我实现了一个 ajax/php 搜索框,当名字中有重音时遇到了很大的问题。解决方案的一部分涉及将MySQL 表上的字符集更改为utf8(它一直是latin1,但我找不到让它工作的方法)。

然后在返回搜索建议数据的 ajax PHP 脚本中,我在开头添加了这一行:

header('Content-type: application/json; charset=utf-8');

您的新托管服务很可能对 MySQL 表和/或网页中的字符类型具有不同的默认值。

于 2013-08-12T20:01:12.047 回答
0

您可能需要在 head 标签之间添加如下内容。

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
于 2013-08-12T19:56:48.837 回答