我在链接中讨论过类似的问题。 https://stackoverflow.com/questions/14177914/passing-turkish-char-from-form-to-java-class-with-struts2
将<Connector ... URIEncoding="UTF-8">
添加到server.xml
解决了问题。
使用firefox和crome时,我没有遇到问题,但使用Internet Explorer会出现同样的问题。
我已检查过页面编码是UTF-8。
Internet Explorer与其他人有什么区别?
答案 0 :(得分:0)
我找到了合适的解决方案。首先,我想提一下我的表格系统。 单击INSERT按钮后,将打开一个弹出窗口,其中还有一个表单。并且这些表单数据通过XMLHttpRequest对象方法发送到ACtion。 如下:..
var url = '/MY_WEB/Action.do;
if (typeof XMLHttpRequest != "undefined") {
req = new XMLHttpRequest();
} else if (window.ActiveXObject) {
req = new ActiveXObject("Microsoft.XMLHTTP");
}
req.open("GET", url, true);
req.send(null);
操作方法类型GET导致问题。 当我从GET更改为POST方法调用时,我认为通过UTF编码的流序列化可以正常地进行这些修改。
if (typeof XMLHttpRequest != "undefined") {
http = new XMLHttpRequest();
} else if (window.ActiveXObject) {
http = new ActiveXObject("Microsoft.XMLHTTP");
}
http.open("POST", url, true);
//Send the proper header information along with the request
http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http.setRequestHeader("Content-length", params.length);
http.setRequestHeader("Connection", "close");
http.send(params);