Ann*_*nna 5 java utf-8 character-encoding
我正在使用YahooUI Javascript库进行简单的ajax调用,如下所示:
YAHOO.util.Connect.setForm('myform');
YAHOO.util.Connect.asyncRequest('POST', url, ...);
Run Code Online (Sandbox Code Playgroud)
以下是我的应用程序中的设置:Tomcat版本:6.0.18
Tomcat服务器连接器:URIEncoding ="UTF-8"webapp页面:
YahooUI连接器库文档中也说明了:
setForm将使用encodeURIComponent对每个HTML表单字段的名称和值进行编码.这会产生一串UTF-8编码的名称 - 值对.注意:使用不同的字符集值设置"内容类型"的HTTP标头不会更改序列化数据的编码.序列化数据的编码.
我可以看到作为参数发送的法语字符被编码(在ie7中使用iehttpheader工具):
name=%C3%88%C3%A0%C3%B4
testParam=%C3%B4%C3%B4
Run Code Online (Sandbox Code Playgroud)
对于数据:名称:Èàô和testParam:ôô
但在服务器端,我看到的价值如下:ÃÂÃÂÃÂ
即使我将字符串转换为字节,然后使用如下定义的字符集创建新字符串:String val = new String(oo.getBytes("UTF-8")); 我无法按预期获得准确的数据.
注意:我已经引用了下面的问题,但无法解决此问题:如何让UTF-8在Java webapps中运行?请指导.
更新: 调用W3.org网站http://www.w3.org/International/O-URL-code.html上给出的解码UTF-8功能给我预期的结果.我希望Tomcat能解码吗?