3 に答える
Android コードでエンコーディングを指定する必要があります。
httpPost.setEntity(new UrlEncodedFormEntity(params, "UTF-8"));
それ以外の場合はISO-8859-1になります。
PHP 側では、などの変換を行わないutf8_decode/encode
でください。これらは常に悪化させるだけです。
また、http ヘッダーを修正します。
<?php
header('Content-Type: application/json; charset=utf-8');
print_r($_POST);
HTML記号に変換してみませんか?のように$#numbers;
。utf-8 general_ci
またはのような状態エンコーディングでない場合ANSI
。それは私を一度助けました。
あなたの好奇心のために...私はついに問題を解決します。データベースが使用する必要がある文字セットを追加するのを逃したので、
$conn = oci_new_connect($userDb, $pswDB, $urlDb, 'AL32UTF8');
代わりに:
$conn = oci_new_connect($userDb, $pswDB, $urlDb);
So Android have:
httpPost.setEntity(new UrlEncodedFormEntity(params, "utf-8"));
In Php I have:
header('Content-Type: application/json; charset=utf-8');
(これが重要かどうかわからない)
これはすべて..すべてのヘルプです