Tag: 字符编码

jQuery ajax + responseText +字符编码

我在JavaScript中使用jQuery库对PHP脚本执行AJAX请求。 这是执行AJAX请求的命令: $.ajax({ async: “false”, cache: “false”, data: {login: strLogin, password: strPassword}, datatype: “text”, error: connexionAjaxError, success: connexionAjaxSuccess, type: “POST”, url: “./Connexion” }); “.Connexion”是我的PHP脚本的URL重定向。 connexionAjaxError是一旦收到HTTP响应就不可避免地执行的JavaScript函数。 原因是:我的PHP脚本导致文本/普通页面的HTTP状态代码等于500。 这是我的PHP脚本中最相关的部分: header(“HTTP/1.0 500 Internal Server Error; Content-type: text/plain; charset=ISO-8859-1”); echo “été”; 这是connexionAjaxError回调函数的签名: function connexionAjaxError(jqXHR, textStatus, errorThrown) 我的PHP结果为字符串“été”。 我的PHP内部编码是ISO-8859-1,因此结果字符串以hex表示法编码[e9 74 e9]。 但是connexionAjaxError回调函数中的jqXHR.responseText包含一个1个字符的字符串。 我已经使用JavaScript String对象的charCodeAt方法来获取字符的unicode(UTF-8?)代码。 该字符以hex表示法编码65535,等效于hex表示法中的[ff ff]。 我不明白为什么jqXHR.responseText不包含3个字符的字符串“été”。 我不是JavaScript方面的专家,但我认为jqXHR.responseText只能包含以UTF-8编码的字符串。 因此,jqXHR.responseText中的字符串“été”将以hex表示法编码[c3a9 74 […]

简单的jquery插件将特殊字符插入textarea字段(非编辑器)?

有没有人知道一个简单的jquery插件,允许特殊字符,如½,¼,¾,Õ,™等(仅限UTF-8)插入textarea字段? 我本想写自己,但我想我先问这里。 我似乎无法通过谷歌搜索找到任何东西。 我需要一个模态来允许某人选择一个特殊字符,然后将其插入到textarea中。 这将是纯文本的UTF-8字符编码。 不能使用像CKEditor,TinyMCE,Markitup这样的HTML编辑器,因为它们对于系统/项目的所有者来说太复杂了。

从UTF8 JSON到ISO-8859-1的字符编码

使用getJSON检索我在服务器端的utf8编码的一些数据… “title”:”new movie \u0091The Tree of Life\u0092 on day 6″ 显示的页面是charset ISO-8859-1 ,我这样做…… $.getJSON(‘index.php’, { q: q }, function(data){ for (var i = 0; i < data.length; i++) { alert(data[i].title + "\n" + utf8_decode(data[i].title)); } }); utf8_decode函数来自这里 。 问题是我仍然看到两个版本的魔术方块…… 新电影第6天的生命之树 新电影“生命之树”第6天 这让我相信这个角色可能既没有编码也没有编码。 但是,如果我将字符串粘贴到页面上并将字符集设置为UTF8或ISO-8859-1,它就可以工作: – / 任何帮助都会很棒!

特殊字符破解json返回jQuery

以下jQuery ajax函数运行一个PHP脚本,该脚本查询包含编码为UTF-8的条目的MySQL数据库: function searchLocations() { var stateSelected = $(“#stateSelect”).val(); $.ajax({ url: ‘ajax/json.php’, dataType: ‘json’, data: ‘state=’+stateSelected, success: function(data) { placeMarkers(data.markerdata.markers); } }); } 返回到函数的JSON对象包含地图标记对象的经度和纬度,以及在单击每个标记时在信息窗口中显示的名称。 每个名称加载正常,并且显示没有问题,除了包含字符“ñ”的单个名称。 此名称在JSON对象中返回为“null”。 如何正确显示此名称?

UTF-8编码,JSP,jQuery,Spring的问题

我在一个apache tomcat 6中有一个带有spring,jsp和jquery的web应用程序,一个jsp页面有一个表单,通过ajax调用whit jquery发送数据到我后端的Spring MultiActionController。 问题在于输入forms的UTF-8字符串。 我已经做了以下事情: 在我的HTML上: . . 在jquery ajax调用: $.ajaxSetup({ scriptCharset: “utf-8” ,contentType: “application/x-www-form-urlencoded; charset=UTF-8” }); $.ajax( { type: “GET”, url: “./saveData.action”, contentType: “charset=utf-8”, data: { name: $(‘#name’).val(),… 在tomcat server.xml上: 在MultiActionController上 public ModelAndView saveData(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding(“UTF-8”); String name = request.getParameter(“name”); 所以如果在name参数中我放了这样的东西: 玛丽亚 在后端,我得到 MarÃa。 我已经尝试了所有我读到的东西,我不知道错误是什么,谢谢你的帮助:)

重音ajax编码问题

源文件有: header(‘Content-type: text/html; charset=iso8859-1’); 源ajax(jQuery)脚本是: $(document).ready(function() { $.ajaxSetup({ cache: false }); $(“#searchfield”).keyup(function(){ $(“#insert_search”) .load(‘ajax/searchobjects.php’, {search_word: $(“#searchfield”).val()}, function(){ }); }); }); 目标文件: header(‘Content-type: text/html; charset=iso8859-1’); echo $_POST[‘search_word’]; 发送的数据: é 结果是: é 所有的文件: Western (ISO Latin 1) (using TextWrangler) 有趣的是:我可以使用重音将记录插入MySQL中。

Jquery ajax编码数据

我有这个代码(下面).. $.ajax ({ type: “POST”, url: “../WebServices/Feedback.svc/sendfeedback”, dataType: ‘json’, async: false, data: ‘{“stars”: “‘ + stars + ‘”, “rating” : “‘ + rating + ‘”, “note” : “‘ + encodeURIComponent(note) + ‘”, “code” : “‘ + code + ‘”, “permission” : “‘ + permission + ‘”}’, contentType: “application/json; charset=utf-8” }); 我使用它将数据传递给Web服务,但问题是如果有任何字符在这里(,/?:@&= + $#)。 我已经放入了一个工作正常的encodeURIComponent,然后在Web服务中我再次将它们放回去。 我问的是,是否有更好的方法来实现这一目标? […]

jQuery $ .get()没有设置标头时的回复字符集?

我刚刚安装了Winamp Song Requester,它是一个Winamp网络歌曲请求者插件,内置最小的HTTP CGI服务器。 该插件的作用是运行一个Web服务器,为一个html页面提供一些特殊的变量,它取代了请求的实际数据(播放列表,请求队列,歌曲中剩余的时间等)。 我认为这是一个有趣而且很好的项目来学习一些jQuery所以我开始连接我自己的js代码来替换,修复和ajaxify服务的网站从插件,但我现在遇到了字符编码的问题。 在页面上,您可以获得播放列表中所有歌曲的链接。 当你点击其中一个链接时,我连接了我自己的jQuery点击function。 因此,当你请求一首歌时我没有重新加载整个页面,而是执行$ .get($(this).attr(’href’,function(response){… code …})然后我使用replaceWith来使用新生成的队列替换当前队列,同时添加您的请求。我做同样的事情来显示/更新当前正在播放和搜索,以便在后台获取所有内容,然后在动画中添加一些动画。 所有的jQuery / Ajax都很棒,但我遇到的最大问题是charset和queue / playlist中的歌曲名称。 名称中的特殊字符(åäöé等)根本不起作用。 该插件输出iso-8859-1 / latin1中的所有内容,标记中的meta标签告诉浏览器该页面为latin1。 在浏览器中的正常页面刷新中,这很好用,并且特殊字符显示为正常。 但是当我使用jQuery和$ .get()来动态替换代码块时,特殊字符只显示为? 我认为问题在于,如果没有标题说明,jQuery默认认为$ .get()响应是UTF-8。 该插件根本没有为encoding / charset设置任何标头,因为我无法控制所有后端以及设置了哪些标头我无法改变这一点。 我在插件的响应中获得的唯一标头是: 服务器:WinampServer 连接:关闭 内容类型:text / html 我希望你理解我的问题。 我有一个页面,我无法控制后端,我必须使用的是生成的HTML。 我无法在响应中更改或添加标头。 我需要告诉jQuery响应实际上是在latin1而不是UTF-8,以便特殊字符的编码不会中断。 我在jQuerys ajaxSetup中尝试过scriptCharset:’iso-8859-1’,但这只适用于脚本/ json类型,我正在使用HTML响应。 是否有可能或任何其他可以考虑的解决方法?

如何更改ajax-charset?

如何更改$.post()使用的默认编码? 参数使用UTF-8编码。 如何使用ISO 8859-1对其进行编码?