当用户选择一个选项时,我使用以下代码从DB加载内容:
<script type="text/javascript" >
function setStore(value)
{
$.get("getStoreMetaInfo.php", {store_id: value, meta_type : 3},function(data){
document.getElementById("tvaddedtext").value = data.tv_lamp;
document.getElementById("parttvaddedtext").value = data.tv_part_no;
}, "json");
}
</script> 在getStoreMetaInfo.php中,我从数据库中执行select操作,创建关联数组并执行json_encode:
$meta=mysql_fetch_array($result_meta);
$result = array("tv_lamp"=>$meta['tv_lamp'],"tv_part_no"=>$meta['tv_part_no'],
"projector_lamp"=>$meta['projector_lamp'],"projector_part_no"=>$meta['projector_part_no']);
$out = json_encode($result);
echo $out;当我从DB得到的文本是英语时,一切都很好,但是当我得到西班牙语字符时,例如,数组$result看起来像这样(使用var_dump时):
array(4) {
["tv_lamp"]=>
string(40) "%BRAND_PROJECTOR_MODEL% TV de la L�mpara"
["tv_part_no"]=>
string(32) "%BRAND_PARTNUM% TV de la L�mpara"
["projector_lamp"]=>
string(44) "%BRAND_PROJECTOR_MODEL% Lamparas Proyectores"
["projector_part_no"]=>
string(37) "%BRAND_PARTNUM% Lamparas Proyectores"
}我得到的json对象看起来像这样(在firebug响应中):
{"tv_lamp":null,"tv_part_no":null,"projector_lamp":"%BRAND_PROJECTOR_MODEL% Lamparas Proyectores","projector_part_no":"%BRAND_PARTNUM% Lamparas Proyectores"}(前两个参数为空)
如何让json编码与这些字符一起工作?
顺便说一下,在我使用"setStore“函数的页面中,我有:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />在页眉中
发布于 2012-01-15 21:28:37
检查你的脚本文件的编码,它应该是UTF-8。
https://stackoverflow.com/questions/8869958
复制相似问题