我尝试使用iconv函数将字符编码格式tis-620更改为unicode。 tis-t620
是泰语字符编码格式。使用iconv函数的原因是json_encode仅以unicode格式工作。
这是我的代码。
$sql = "SELECT id,name FROM my_tbl WHERE id='$id'";
$query = mysql_query($sql);
while($row = mysql_fetch_array($query)){
$name= $row['name'];
$id = $row['id'];
}
$arr['name'] = iconv("tis-620","utf-8",$name);
$arr['id'] = $id;
echo json_encode($arr);
此代码正常工作。但是,如果name
包含泰语所写的双引号(如“ทดสอบ”
),则返回空值。我不知道为什么。我非常赞赏任何建议。
答案 0 :(得分:-1)
尝试http://php.net/manual/de/function.mb-convert-encoding.php
$sql = "SELECT id,name FROM my_tbl WHERE id='$id'";
$query = mysql_query($sql);
while($row = mysql_fetch_array($query)){
$name= $row['name'];
$id = $row['id'];
}
$arr['name'] = mb_convert_encoding($name, "tis-620","utf-8");
$arr['id'] = $id;
echo json_encode($arr);