当前位置: 首页 > 知识库问答 >
问题:

Chrome Ajax响应中的UTF-8编码出错

戚京
2023-03-14

我看到了这个问题。在Chrome/Safari中,设置为包含一些特殊字符(即西班牙语颚化符“i”)的内容的Ajax响应无法正确解释。

这里的一个例子完美地总结了这个问题:

我试过Firefox和IE,两者都很好。只有Chrome无法正确显示网页。这是URL:http://maixner.eu/#bio正如你所见,有些字符是错误的。这条线:2012-Museum moderního umÄ›ní,Olomouc,捷克共和国应该是:2012-Museum moderního umění,Olomouc,捷克共和国

开发细节:1)有索引。带有javascript文件的html页面,该页面通过AJAX(称为PHP文件)2)索引加载数据。html文件的内容类型设置为UTF-8 3)所有文件都是UTF-8编码的4)javascript使用XMLHttpRequest类和responseText注入innerHTML 5)php文件具有标题('content-type:text/html;charset=UTF-8“');

这里:

有类似(或相同)的问题,但有西班牙语字符。我已经将Apache设置为使用UTF-8,我已经设置了php头('Content-Type:text/html;charset=UTF-8');我已经设置了html,我已经设置了html,但Chorme(只有Chrome、FF、IE等工作正常)显示了以下内容:

[帖子标题]。。。接受字符集:ISO-8859-1,utf-8;q=0.7,*;q=0.3。。。[表单中的一些随机post值]------WebKitFormBoundary0wi0NAscQiUkF2hJ内容配置:表单数据;name=“s_name”OxÃ-geno 100.4 FM波哥大Ã

原始帖子

共有2个答案

鲜于凯歌
2023-03-14

在php头函数中,您在字符串结束之前有一个额外的“”。它应该是

<?php
header('Content-type: text/html; charset=utf-8');
赏成益
2023-03-14

我也有同样的问题。

基本上,在我的例子中,这是因为浏览器发送的请求头。

chrome仅发送:内容类型:application/x-www-form-urlencoded

如果没有charset=UTF-8,服务器默认为ISO,并错误解码。

 类似资料:
  • 问题内容: 我想从请求中获取参数(带有重音符的字符),但是它不起作用。我尝试使用,但也没有用。 我知道返回正确的字符,但不起作用! 有人有主意吗? 问题答案: Paul的建议似乎是最好的做法,但如果要解决此问题,则根本不需要URLEncoder或URLDecoder: 更新: 由于获得了很多选票,我想强调BalusC的观点,即这绝对不是解决方案。充其量是一种解决方法。人们不应该这样做。 我不知道是

  • 问题内容: 我正在用python做一些脚本。我创建一个保存在文件中的字符串。这个字符串有很多数据,来自目录的树状结构和文件名。根据convmv的介绍,我所有的树状结构都是UTF-8。 我想将所有内容都保留在UTF-8中,因为之后我将其保存在MySQL中。现在,在UTF-8的MySQL中,我遇到了一些字符问题(例如é或è-我是法语)。 我希望python始终将字符串用作UTF-8。我在互联网上阅读了

  • 我尝试使用jdom2更新现有XML文件中的一些属性值。创建xml文件时,我遇到了utf8编码问题。 属性值为 但我在输出中看到的值是: 我编写的代码如下所示: 我已经使用了这两个选项: 和 但这些问题都没有得到解决。如何解决这个问题?

  • 我正在尝试提交一个包含UTF-8字符的表单。 问题是,在查询日志中,日语字符是乱码的,从响应来看,它们似乎是双重编码的(UTF-8)。 如果我使用GET而不是POST,一切都会正常。谁能帮帮我吗?这在哪里得到双重编码?我该怎么修?

  • 我的web应用程序存在编码问题。在Begging会议上,我认为问题在于数据库编码,但后来我排除了Servlet的bug。如下所示:JSP页面包含一个表单,用户在其中传递一个具有波兰字符的单词,例如“Poniedziałek”,然后我对接收此参数并将其传递给变量的servlet进行除错。变量中的结果为“PoniedziaÅek”。 我的JSP文件中的编码设置为UTF-8 我还尝试使用servlet设

  • 本章是由 Alex Cabal 最初撰写在 PHP Best Practices 中的,我们使用它作为进行建议的基础。 这不是在开玩笑。请小心、仔细并且前后一致地处理它。 目前,PHP 仍未在底层实现对 Unicode 的支持。虽然有很多途径可以确保 UTF-8 字符串能够被正确地处理,但这并不是很简单的事情,通常需要对 Web 应用进行全方面的检查,从 HTML 到 SQL 再到 PHP。我们将