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

1 年前に ajax/php 検索ボックスを実装しましたが、名前にアクセントが含まれていると大きな問題が発生しました。解決策の 1 つは、MySQL テーブルの文字セットをutf8に変更することでした (以前はlatin1でしたが、それを機能させる方法が見つかりませんでした)。

次に、検索候補データを返す ajax PHP スクリプトで、最初に次の行を追加しました。

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

新しいホスティング サービスでは、MySQL テーブルや Web ページの文字タイプのデフォルトが異なる可能性があります。

于 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 に答える