[英]json_encode, utf8 and Greek characters
我正在編寫一個Android應用程序,我想查詢數據庫並使用json_encode獲取結果。 所以我有這個數據庫:
CREATE DATABASE `my_db` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
我使用utf8是因為我想存儲希臘字符。 所有表都具有utf8_general_ci排序規則。
最后,我有用於查詢數據庫的php服務。
<?php
$host = "localhost";
$username = "root";
$password = "password";
$dbname = "my_db";
$con = mysql_connect($host,$username,$password) or die ('Error connecting to mysql');
mysql_query("SET character_set_results=utf8", $con);
mysql_query("SET NAMES 'utf8'", $con);
mysql_select_db($dbname,$con);
$query = "SELECT * from patients";
$result = mysql_query($query,$con);
while($e=mysql_fetch_assoc($result))
$output[]=$e;
print(json_encode($output));
mysql_close($con);
?>
問題是在輸出中我沒有得到希臘字符。 相反,我得到這個:
[{"patient_id":"2","email":"patienta@mail.com","password":"password2","firstname":"\u03a7\u03a1\u0397\u03a3\u03a4\u039f\u03a3","lastname":"\u039c\u03a0\u0391\u0396\u0399\u03a9\u03a4\u0397\u03a3","birth":"1989-11-11","mobile":"6941212121","tameio":"\u039f\u0393\u0391"}]
沒錯 所有不在ascii中的字符都將轉換為UTF-8
格式。
數據將通過json_decode
正確解碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.