ajax传递汉字出现乱码问题 我用的struts2。。ajax传递汉字过程中出现了乱码字符编码已经统一过了,都是GB18030编码。试了很多种方法都没有解决问题。。希望大家能够帮帮忙如果不知道的请不要乱回答,谢谢合作了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 代码我也贴上来了var data = "article.title="+title+"&article.content="+content+"&comment="+comment+"&reprint="+reprint+ "&categoryId="+categoryId+"&status="+status; createXMLHttpRequest(); xmlrequest.open("GET","draft_save",false); xmlrequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); xmlrequest.onreadystatechange = processResponse; xmlrequest.send(data);以上是其中的ajax发送请求代码。。请大家帮帮忙急求。 由于是用到了get的请求,最直接的解决方案是修改一下tomcat的server.xml文件, <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8"/> enuricode(中文),后台转一下码,就没有乱码了 可我全局的编码是GB18030的。。如果这改了,那其它的地方岂不是也要改?数据库的项目的,改了server的是不还要后台转码一次??哪位朋友能跟我说个常用点的方法。。 哎呀。我昨天也遇到这种情况。Ajax传输到servlet时中文乱码,找了好些资料终于解决了 。var data = "article.title="+encodeURIComponent(title)+"&article.content="+encodeURIComponent(content)+"&comment="+encodeURIComponent(comment)+"&reprint="+encodeURIComponent(reprint)+ "&categoryId="+encodeURIComponent(categoryId)+"&status="+encodeURIComponent(status); createXMLHttpRequest(); xmlrequest.open("GET","draft_save",false); xmlrequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); xmlrequest.onreadystatechange = processResponse; xmlrequest.send(data);如果楼主其他地方没问题的话这样肯定能解决。而不是说什么tomcat的server.xml文件原因。 js乱码解决encodeURI(newvalue);java.net.URLDecoder.decode(preject_name, "utf-8") get是通过url显式的发送到后台,而url传送汉字时,是采用国际统一的iso-8859-1编码进行传送,所以,四楼是正确的。 据说AJAX通过两次encodingURI,可以传中文然后服务器端 decode一次就可以得到中文了 修改这个配置文件不影响你所谓全局的编码,这个是只针对get传参时url的编码,要是不想用utf-8,你可以改成GB18 楼主 你在 你ajax 要传递的 参数前面加 上 encodeURIComponent("中文") 100% 正确 呵呵 别想了,AJAX传输使用的是utf-8编码,如果不想转码,就都使用utf-8吧 1.Post方式发生ajax的时候中文默认可以采用页面上设置的content-type2.get方式发送ajax的时候,传递的参数默认不会采用编码,所以在Tomcat中默认是会采用is0-8859-1来进行编码。解决这样的问题通常可以这么做: 1)对参数采用encodeURIComponent方法进行编码,如param1=encodeURIComponent(paramValue) 2) 采用5楼说的,在tomcat配置文件中增加URIEncoding参数。 jquery中$.getJSON方法未能获取到返回的值 从今天起,开始开发一个系统,请大家多提意见 求帮助!! 求天气预报的 wsdl 急急急 点了树后在iframe里加载页面出了问题,变成弹出窗口了,请问问题出在哪儿呢 问个Struts <html:form>标记的问题! TTP Status 404 - Servlet action is not available STRUTS下,验证SESSION的标签编写. WAR包里的类怎么调用同在这个WAR包中WEB_INF目录下的一个配置文件? 用JNDI日常出错,求解答 百分求静态网络模板..... 怎样从j2se过渡到j2EE
var data = "article.title="+title+"&article.content="+content+"&comment="+comment+"&reprint="+reprint+
"&categoryId="+categoryId+"&status="+status;
createXMLHttpRequest();
xmlrequest.open("GET","draft_save",false);
xmlrequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlrequest.onreadystatechange = processResponse;
xmlrequest.send(data);
以上是其中的ajax发送请求代码。。请大家帮帮忙急求。
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8"/>
可我全局的编码是GB18030的。。如果这改了,那其它的地方岂不是也要改?数据库的项目的,改了server的是不还要后台转码一次??哪位朋友能跟我说个常用点的方法。。
var data = "article.title="+encodeURIComponent(title)+"&article.content="+encodeURIComponent(content)+"&comment="+encodeURIComponent(comment)+"&reprint="+encodeURIComponent(reprint)+
"&categoryId="+encodeURIComponent(categoryId)+"&status="+encodeURIComponent(status);
createXMLHttpRequest();
xmlrequest.open("GET","draft_save",false);
xmlrequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlrequest.onreadystatechange = processResponse;
xmlrequest.send(data);如果楼主其他地方没问题的话这样肯定能解决。而不是说什么tomcat的server.xml文件原因。
encodeURI(newvalue);
java.net.URLDecoder.decode(preject_name, "utf-8")
然后服务器端 decode一次就可以得到中文了
修改这个配置文件不影响你所谓全局的编码,这个是只针对get传参时url的编码,要是不想用utf-8,你可以改成GB18
2.get方式发送ajax的时候,传递的参数默认不会采用编码,所以在Tomcat中默认是会采用is0-8859-1来进行编码。解决这样的问题通常可以这么做:
1)对参数采用encodeURIComponent方法进行编码,如param1=encodeURIComponent(paramValue)
2) 采用5楼说的,在tomcat配置文件中增加URIEncoding参数。