首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用jQuery.get检索utf-8数据

用jQuery.get检索utf-8数据
EN

Stack Overflow用户
提问于 2011-03-12 01:12:55
回答 3查看 6.6K关注 0票数 2

我正在使用jQuery从服务器检索一个文本文件并加载到代码镜像编辑器中。(这是Chrome版)

当我有一个具有以下测试字符串的测试文件时:

吕伊奥

它显示为:

s��Ii�gI�s

我用jQuery.get()调用加载数据。使用Chrome的脚本调试器,我可以看到jQuery正在以某种方式转换数据,基本上将其转换为ASCII (很差)。

我已经确认使用直接下载正确的数据是加载的。使用Fiddler,我确认内容类型是“text/平原;charset=UTF-8”。最后,我可以从菜单中看到整个页面都有编码UTF-8.但我不明白为什么jQuery要转换数据。

下面是加载数据的jQuery代码。

代码语言:javascript
运行
复制
jQuery.get(path+file,null,function(data)
{
  var initialContent = data;
  if(!initialContent)
  {
    initialContent = "\n";
  } 

  document.getElementById("fileContent").value = initialContent;
  config.content = data,
  editor = new CodeMirror(document.getElementById("codeMirrorDiv"), config);
},'text');
EN

回答 3

Stack Overflow用户

发布于 2011-03-12 01:21:16

我已经使用jQuery好几年了,从来没有见过像您描述的那样“转换”数据。我甚至不确定这是可能的。

确保显示数据的页面在<head>中有此内容

代码语言:javascript
运行
复制
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />

另外,确保在编辑文本文件时,您实际上是在UTF-8中编辑它。

票数 1
EN

Stack Overflow用户

发布于 2014-03-05 10:59:08

通常情况下,这是因为数据库中的数据错误。

在连接到数据库后,尝试添加以下命令:

代码语言:javascript
运行
复制
mysql_query("SET NAMES utf8");
mysql_query("SET CHARACTER SET utf8");
mysql_query("SET COLLATION_CONNECTION='utf8_general_ci'");

如果这没有帮助,那么尝试将此头添加到php文件中:

代码语言:javascript
运行
复制
header('Content-Type: text/html; charset=utf-8');

很高兴知道任何文件(php,html.)必须以utf-8编码。最简单的方法是:

使用记事本打开

  • 文件
  • 文件->在保存之前保存为
  • ,选择在底部下拉的编码
票数 0
EN

Stack Overflow用户

发布于 2014-11-07 09:00:10

如果设置了编码和标头,而仍有数据不正确,那么服务器端可能会出现问题(PHP、JAVA、.)。检查服务器端的所有字符串操作函数.

对于PHP:

代码语言:javascript
运行
复制
$WRONG_string = substr($string, 0, 10);
$CORRECT_string = mb_substr($string,0,10,'utf-8');

如果您使用其他服务器端语言作为PHP,那么您应该检查函数手册中的字符串编码。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5280113

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档