2

java から utf8-json-String を post 変数として php ファイルに取得します。

私のphpヘッダーはcharset = utf-8、html charset = utf-8として設定されており、phpファイルはBOMなしのutf8です。

json データを TSQL データベースに書き込もうとしています。

私が行った場合

$jsonfile = $_POST['jsonfile'];
$jsonfile = utf8_decode($jsonfile); 
$jsonarray = json_decode($jsonfile);
foreach($jsonarray as $value)   {
// write in database
}

すべてのデータがデータベースに書き込まれます。残念ながら、文字セットは ß (ß) のようなドイツ語の文字を削除します。

もし私がするなら

$jsonfile = $_POST['jsonfile'];
$jsonarray = json_decode($jsonfile);
foreach($jsonarray as $value)   {
// write in database
}

php は配列の実行に失敗します。

4

1 に答える 1

0

(Java クライアントも作成していると仮定します。)

フォーム フィールドに JSON の塊Content-type: application/jsonとして送信するのではなく、POST リクエストを送信し、JSON をリクエストのペイロードとして送信します。application/x-www-form-urlencoded

を使用して、PHP でペイロードの完全な内容を読み取ることができますfile_get_contents("php://input")

于 2013-10-09T11:32:26.040 に答える