1

私は次のようなajax関数を持っています:

jQuery.ajax({
    type: 'POST',
    data: {
        action: 'get_data',
        article_id: some_var
    },
    url: 'http://www.example/test.php',
    success: function(msg) {
    jQuery('#some_div').html(msg);
    }
});

test.php には、記事 ID と等しい ID を持つベースから行を取得する mysql クエリがあります。それはうまくいきます。しかし、データベースにいくつかのセルビア語の文字があり、ajax がその文字を返すと、"Ž" は "�"、"Š" は "?" のようになります。データは mysql に正しく保存されています (utf8 接続、colations、およびその他すべての stufs)。html ページのエンコーディングは utf8 です。

4

3 に答える 3

0

データ型を ajax クエリに追加してみてください。

dataType: 'html'
于 2012-08-01T15:47:46.430 に答える
0
  1. タグにhtmlの文字エンコーディングmetaがない場合は設定します。
  2. サーバー側でのようなものmb_convert_encodingや機能を使用してください。iconv
于 2012-08-01T15:48:49.530 に答える
0

解決済み、ベースへの接続後に追加: mysql_query("SET NAMES utf8"); mysql_query("SET CHARACTER SET utf8"); mysql_query("SET COLLATION_CONNECTION='utf8_general_ci'"); . これはベースにデータを挿入するときだけ重要だと思いました

于 2012-08-19T20:21:35.283 に答える