0

エンコーディングは私の強みではありません...

さまざまな言語を含むサイトを構築しています。

データベースはコンテンツを UTF-8 で保存しています。

コンテンツは、jQuery と AJAX を使用してデータベースから画面に挿入されます。問題は、応答が正しくエンコードされていないことです。フランセがフランセとして帰ってくる

何が間違っているのかわかりません.jqueryのデフォルトのリクエストはuft8で、データはuft-8のdbに保存され、htmlページは<meta content="text/html; charset=utf-8" http-equiv="Content-Type">

明らかな何かが欠けていますか?ありがとう、ジョン

jquery ajaxを直接バイパスしてコンテンツをリクエストすると、ブラウザによってヘッダーが設定されていない場合と同様に、レスポンスが正しくエンコードされます...

4

1 に答える 1

1

私のコメントで述べたように、DB 接続の文字セットも utf-8 であることを確認する必要があります。これは、物事をうまくセットアップする goto PDO コンストラクターです...

$pdo = new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'username', 'password', array(
    PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
    PDO::ATTR_EMULATE_PREPARES => false,
    PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC));

DSN の一部としてcharsetパラメータに注意してください。SET NAMES5.3.6 より前のバージョンの PHP に行き詰まっていない限り、クエリを実行する必要はありません。

于 2013-11-07T02:30:13.867 に答える