我在通过AJAX发布JSON时遇到了麻烦。通过AJAX强调问题发布JSON
出于测试目的,下面的代码重新产生问题,而在Firefox的便签创建(我使用骨干在应用层):
var xhr = new XMLHttpRequest();
xhr.open("POST", "/my/api/url"); // could be PUT too
xhr.setRequestHeader("Content-Type", "application/json");
xhr.send(JSON.stringify({ test: "é" }));
其实,不管是什么口音的字符串我在我的JSON中使用,它总是发送不正确(我已经在Firefox和Chrome中进行了测试,都是最新版本) - 我可以在Chrome DevTools/Firebug中看到请求数据错误。在这种情况下发送的是é
。
我在Java中找到了解决方法。我不会打扰一次或两次使用它,但是,看起来情况并非如此。还有很多事情要做。
解决方法如下:
test = new String(test.getBytes("ISO-8859-1"), "UTF-8");
任何进一步的帮助,将不胜感激。
我的设置(如果有人需要):
- Windows 7的64位
- JDK 1.7 x64的
- 的JBoss 4.2.3
- 的RESTEasy
- 的MyEclipse 9.1
我当他们出现时,经常会用有趣的数据来更新这个问题。
,你能否告诉我们,让你'A中的代码© '? JSON不关心字符编码,它只是发送字节。 – Halcyon
我直接在Firefox Scratchpad中完成了该代码。 – gustavohenke
你的IDE /编辑器有哪些字符集? – bpoiss