0

こんにちは、phonegap を使用してモバイル アプリを開発しており、ajax (jsonp) を介して MySQL データベースにクエリを実行しています。ただし、特殊文字が「?」として表示されるため、返されるときに問題があります。代わりに、たとえばŻ。

現時点で私のPHPにこれを追加しましたが、うまくいきませんでした: header('content-type: application/json; charset=UTF-8');

上記のような特殊文字を含む、使用できる他の文字セットを知っている人はいますか?

4

3 に答える 3

2

まず第一に

a) db テーブルを修正します テーブルが適切な文字セットで定義されていることを確認します。

CREATE TABLE `types` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=0 DEFAULT CHARSET=utf8

b) db に接続した後、次のことを確認します。

セット名 'utf8';

[以下も実行しています]

 SET  character_set_client  ='utf8',
 character_set_connection ='utf8',
 character_set_database  ='utf8',
 character_set_results   ='utf8',
 character_set_server    ='utf8',
 collation_connection    ='utf8_general_ci',
 collation_database      ='utf8_general_ci',
 collation_server        ='utf8_general_ci'

c) 最後に、html ページの適切なコンテンツ タイプを設定します。

これがあなたを助けることを願っています

于 2012-12-27T06:43:50.577 に答える
0

MySQL データベースを使用していますか? したがって、次のようにデータベース接続に utf8 文字セットを設定してみてください。

$conn = mysql_connect('localhost','user1','pass1',TRUE); 
mysql_set_charset('utf8',$conn); 

または、UTF-8 エンコーディングを試してください

string utf8_encode ( string $data )

パラメーター:

data
An ISO-8859-1 string.

戻り値:

Returns the UTF-8 translation of data.
于 2012-12-26T21:51:04.913 に答える
0

JSON 実装標準に従って、すべての JSON データは UTF 形式でエンコードする必要があり、デフォルトの形式は UTF-8 です。ただし、UTF-32BE、UTF-16BE、UTF-32LE、UTF-16LE など、他の UTF 形式はいつでも使用できます。

詳細な基準と情報については、ietf standardを参照してください。

于 2012-12-27T06:06:32.030 に答える