Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用ajax获取时未按预期显示unicode文本_Javascript_Ajax_Unicode - Fatal编程技术网

Javascript 使用ajax获取时未按预期显示unicode文本

Javascript 使用ajax获取时未按预期显示unicode文本,javascript,ajax,unicode,Javascript,Ajax,Unicode,我有一个管理模块和前端模块 我有一个分类部分 我通过ajax将文本框中的值发布到php来创建类别。 管理员和前端字符集都是utf-8 我了解到默认情况下ajax使用utf-8编码 当我发布数据时,它完美地保存在数据库中 我可以在数据库中看到unicode文本 以及我可以看到它,而在管理和前端上市 但是 单击edit时,我要做的是使用ajax/json从服务器获取数据 我得到的只是?????而不是unicode文本 在正常加载情况下,显示良好 有什么问题吗。。。我错过了什么 编辑 var jax

我有一个管理模块和前端模块

我有一个分类部分

我通过ajax将文本框中的值发布到php来创建类别。 管理员和前端字符集都是utf-8

我了解到默认情况下ajax使用utf-8编码

当我发布数据时,它完美地保存在数据库中

我可以在数据库中看到unicode文本

以及我可以看到它,而在管理和前端上市

但是

单击edit时,我要做的是使用ajax/json从服务器获取数据

我得到的只是?????而不是unicode文本

在正常加载情况下,显示良好

有什么问题吗。。。我错过了什么


编辑

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编辑时,它显示为????在文本框中

下面是文本在数据库中的显示方式。。。

尝试以下两种方法之一:

  • 在记事本中打开文件,点击保存,确保保存在utf-8,而不是Ansi。(特别是提供JSON的那个)
  • 强制您的响应为utf-8(对于php:
  • 这帮助我克服了那个问题

    在建立连接后执行此查询

    我从CodeIgniter框架中得到了这个信息,因为使用它我的代码工作得很好,但是当我直接使用mysql\u查询时,我无法得到预期的结果

    如果您使用的是CodeIgniter,那么这是默认设置的,否则您必须包含该行

    我不接受这作为我自己的答案,因为可能有更多的原因,可以由用户发布,所以我等待更多的评论和回答这个问题

    不管怎样,它现在正在工作


    此外,请确保表排序规则为utf8,字段也为utf8。

    如果您发布执行ajax调用的代码,并发布来自服务器的JSON响应,这会有所帮助。可能是实体编码的问题。我已经按照Pointy的要求添加了文本和屏幕截图,从而更新了问题。我就是我们ing codeigniter framework,默认情况下将编码设置为utf-8。imgur在此被阻止…我看不到图片。我帮不了你更多。你尝试过我的步骤1吗?
    SET NAMES 'utf8' COLLATE 'utf8_general_ci'