Javascript 使用ajax获取时未按预期显示unicode文本
我有一个管理模块和前端模块 我有一个分类部分 我通过ajax将文本框中的值发布到php来创建类别。 管理员和前端字符集都是utf-8 我了解到默认情况下ajax使用utf-8编码 当我发布数据时,它完美地保存在数据库中 我可以在数据库中看到unicode文本 以及我可以看到它,而在管理和前端上市 但是 单击edit时,我要做的是使用ajax/json从服务器获取数据 我得到的只是?????而不是unicode文本 在正常加载情况下,显示良好 有什么问题吗。。。我错过了什么Javascript 使用ajax获取时未按预期显示unicode文本,javascript,ajax,unicode,Javascript,Ajax,Unicode,我有一个管理模块和前端模块 我有一个分类部分 我通过ajax将文本框中的值发布到php来创建类别。 管理员和前端字符集都是utf-8 我了解到默认情况下ajax使用utf-8编码 当我发布数据时,它完美地保存在数据库中 我可以在数据库中看到unicode文本 以及我可以看到它,而在管理和前端上市 但是 单击edit时,我要做的是使用ajax/json从服务器获取数据 我得到的只是?????而不是unicode文本 在正常加载情况下,显示良好 有什么问题吗。。。我错过了什么 编辑 var jax
编辑
var jax = createAjax();
jax.open("POST",path,true)
jax.setRequestHeader('Content-type','application/x-www-form-urlencoded; charset=utf-8');
jax.onreadystatechange = afunction;
下面是php代码
$query = "select * from $box where id=$id";
if(! ($res = mysql_query($query)))die(mysql_error());
$rs = mysql_fetch_array($res,1);
$rs['status'] = 1;
header("Content-Type: text/html; charset=utf-8");
die(json_encode($rs));
我已将上述内容用于请求和响应。。。就连我也把utf-8改成了iso-85**-1,有些东西是默认的,但没有效果
我已附上下面的屏幕截图
在新窗口或选项卡中打开图像以查看更大的图像
在上图中,您可以看到utf字符在列表中显示得很好,但在使用ajax和json编辑时,它显示为????在文本框中
下面是文本在数据库中的显示方式。。。
尝试以下两种方法之一:
此外,请确保表排序规则为utf8,字段也为utf8。如果您发布执行ajax调用的代码,并发布来自服务器的JSON响应,这会有所帮助。可能是实体编码的问题。我已经按照Pointy的要求添加了文本和屏幕截图,从而更新了问题。我就是我们ing codeigniter framework,默认情况下将编码设置为utf-8。imgur在此被阻止…我看不到图片。我帮不了你更多。你尝试过我的步骤1吗?
SET NAMES 'utf8' COLLATE 'utf8_general_ci'