PHP に渡されたスカンジナビア文字が表示されず、正しく保存されない理由が見つかりません。
Web アプリケーションを使用すると、スカンジナビア文字が php とデータベースで正しく動作します。
webapp からデータベースにメッセージを書き込んで Android アプリにロードすると、文字が正しく表示されます。
アンドロイドで
String message = "Tässä"
try {
// open a connection to the site
URL url = new URL("own_url");
HttpURLConnection con = (HttpURLConnection)url.openConnection();
con.setRequestMethod("POST");
con.setRequestProperty("User-Agent", "");
con.setRequestProperty("Accept-Language", "fi, en-US,fi;q=0.6, en;q=0.5");
con.setRequestProperty("Accept-Charset", "UTF-8");
// Send post request
con.setDoOutput(true);
String urlParameters = "message=" + message;
PHPで
$message = $_POST['message'];
error_log($message);
error_log はT\xe4ss\xe4のように表示します
mysqli_set_charset($con, 'utf8');
date_default_timezone_set('UTC');
$sql = "INSERT INTO messages SET message='$message'";
mysqli_query($con, $sql);
データベースではT?ss です
編集
user2864740 の提案のおかげで、SQL インジェクションを防ぐためにクエリ生成を変更しました。
$stmt = $con->prepare("INSERT INTO messages (message) VALUES (?)");
$stmt->bind_param("s", $message);
$stmt->execute();