阿拉伯字符的 select
语句返回 ??????
.. 为什么?
PHP 代码:
<?php
require_once("db.php");
$code=$_GET["code"];
$query = "SELECT id,name,price,code from metro_goods where code=$code";
$result = mysql_query($query) or die(mysql_error());
$arr=array();
$i=0;
while ($row = @mysql_fetch_assoc($result)){
$arr[$i]=array("id"=>$row['id'],"name"=>$row['name'],"price"=>$row["price"],"code"=>$row["code"]);
$i++;
}
echo json_encode(array("data"=>$arr));
?>
结果:
{"data":[{"id":"55121","name":"???? ??? ????? - ???","price":"16","code":"42217572"}]}
编辑:
设置字符集时
$rating_conn = mysql_connect($rating_dbhost, $rating_dbuser, $rating_dbpass) or die ('Error connecting to mysql');
mysql_set_charset('utf8',$rating_conn);
输出变成:
{"data":[{"id":"55121","name":"\u0645\u0632\u064a\u0644 \u0639\u0631\u0642 \u0646\u064a\u0641\u064a\u0627 - \u0633\u062a\u0643","price":"16","code":"42217572"}]}
最佳答案
在执行任何查询之前,您必须使用以下查询语句将字符集编码分配给 UTF8:
mysql_query("设置名称 utf8");
关于php - 选择阿拉伯字符会导致 MYSQL 中出现问号。怎么修?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11782379/