我正在写一个android应用程序,我想查询一个数据库并用json_encode得到结果。 所以我有这个DB:json_encode,utf8和希腊字符
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":"[email protected]","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"}]
如果您在客户端使用json解码(如JavaScript中的JSON.parse或php中的json_decode),它将解码unicode转义字符。 – jcubic
[php-json输出web服务问题与utf-8字符(希腊语)]可能的重复](http://stackoverflow.com/questions/6397534/php-json-output-web-service-problem-with-utf- 8个字符和希腊)。您可能还想看看我的答案[度'°'字符不显示在php json \ _encode函数,如何显示此?](http://stackoverflow.com/questions/15964967/degree-character-不显示在php-json-encode-function-how-to-display) – PleaseStand