ckeditor的中文内容传入后台乱码
前台用js CKEDITOR.instances.cont.getData();获得ckditor的内容,交给后台的struts处理,struts定义了一个拦截器将/*都转成GBK编码,但是接受ckeditor的中文内容还是乱码。怎么解决?<script type="text/javascript" src="jquery-2.0.0.js"></script>
<script type="text/javascript">
function save(){
$.ajax({
url:'live.action'
,type:'POST'
,data:$(document.form1).serialize()
,success:function(data){
////不知道java,到底执行完action后返回什么。。自己根据action的返回值判断下data看是否正确执行了
}
,error:function(){alert('发生错误');}
});
}
</script>
<form action="" method="post" onSubmit="save()" name="form1">
<textarea name="cont"></textarea>
<script type="text/javascript" src="ckeditor/ckeditor.js"></script>
<script type="text/javascript">
<!--
CKEDITOR.replace("cont");
//-->
</script>
<input type="hidden" name="title" value="">
<script type="text/javascript">
function getContent(){
var c = CKEDITOR.instances.cont.getData();
alert(c);
document.forms("form1").elements("title").value = c;
}
</script>
<input type="submit" value="提交" onclick="getContent()">
</form>
struts.xml
<filter>乱码 ckeditor --------------------编程问答-------------------- form表单post提交默认是采用UTF-8对表单数据进行编码的,而
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>GBK</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
post的编码是可以通过
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
进行设置的,
只要你表单数据提交时的编码和 你后台接收表单数据时的解码字符集是一致的,就不会出现乱码.
不懂再追问,
Java飞虎队欢迎各路菜鸟老鸟加入一起交流讨论。群号105098806 --------------------编程问答--------------------
我将<meta http-equiv="Content-Type" content="text/html; charset=GBK" />了,但是还是不行 --------------------编程问答-------------------- 除 --------------------编程问答--------------------
试过了,还是不行,我感觉应该是ckeditor或者Jquery异步提交的问题,因为之前的input等提交中文在后台不会乱码 --------------------编程问答-------------------- 改后应该可以的,你修改了struts.xml后有重新部署吗?
2B版主,你已经禁了我两个帐号了哈,我不过就推广下自己的Java群而已,你封吧,我就累点再注册一个好嘞,不跟你计较! --------------------编程问答--------------------
重新部署了
补充:Java , Web 开发