extjs 解析 后台中文乱码问题
发布网友
发布时间:2022-04-24 19:15
我来回答
共2个回答
懂视网
时间:2022-04-24 23:36
在一次页面浏览过程中,客户端对一个URL发起浏览请求,服务端针对这次请求进行解析,而在字符编码解析方面,首先他检查该页面中的字符编码设置,即
,这样,在页面中显示声明了字符编码为UTF-8,服务器就会将该页面用UTF-8的编码输出,而如果页面中没有显示声明,在服务器中都有一个默认的字符编码,比如GB2312,针对没有声明的文件,他会用默认编码输出,这个时候,如果页面输出又是UTF-8,这样就会出现乱码。
而在Ext中的提交数据的过程中,Ext框架用的是都是UTF-8编码,而且通过JSON提交的数据也是UTF-8编码,所以要求所有的文件都是UTF-8编码。
解决乱码的方法
以下几项首先必须要在平时的编码过程中做到:
(1) JAVA后台文件加入 response.setContentType("text/html");
response.setCharacterEncoding("utf-8");
(2)在文件中显示声明字符编码,
(3)对于提交中出现的乱码,在Ext中可以修改Request Header中Content-Type的设置,具体的方法为:Ext.lib.Ajax.defaultPostHeader += ";charset=utf-8";
最后,问题还可能出现在文件的保存格式上。就是你把代码文件保存的时候,如果开发环境默认保存的不是UTF-8格式,那么也会出现问题! 所以就要对开发环境也有一个要求。
开发环境的配置
如果采用记事本来编写保存代码文件(.js),那这个就会出问题,主要是由于在windows系统里记事本默认的编码格式是ANSI,这样基本上和目前网页中编码的格式都不同因此就会出现编码格式不正确的问题。解决办法就是打开xx.js文件然后另存为,在保存类型处选择utf-8编码格式就可以了。
当然,主流还是使用MyEclipse,所以说一下MyEclipse里要配置哪些地方。
Preferences->General->Content Types 选中Text 编辑下面的Default encoding 为utf-8然后Update。
Preferences->General->Content Types->Editors->Text Editors->Spelling 下Encoding 选 Default(UTF-8)
Preferences->General->Content Types->Workspace下Text File Encoding 选 Other: UTF-8
最后如果还出现乱码 , 利用
System.out.print(request.getCharacterEncoding());
System.out.print(response.getCharacterEncoding());
察看request 或 response 编码是否不是utf-8
若不是,利用web.xml中的 filter 解决.
如
no
EncodingFilter
EncodingFilter
com.hope.filters.SetCharacterEncodingFilter
encoding
utf-8
或者设置
Good Luck!
热心网友
时间:2022-04-24 20:44
HttpServletResponse response = ServletActionContext.getResponse();
response.setCharacterEncoding("utf-8");
response.setContentType("text/html");
在后台加上这句话追问我的后台就是一个文本文件啊...我就是去把这个文件的内容读了一下出来...
追答读出来内容加个toString()方法
你读出来的文件是用response.getWrite.print(文件内容);
springboot架构设计?
ExtJS可以用来开发RIA也即富客户端的AJAX应用。因此,可以把ExtJS用在.Net、Java、Php等各种开发语言开发的应用中。 ExtJs最开始基于YUI技术,由开发人员JackSlocum开发,通过参考JavaSwing等机制来组织视觉化元件,无论从UI介面上CSS样式的应用,到资料解析上的异常处理,都可算是一款不可多得的JavaScript客户端技术的精品。
extjs5.1 messagebox ok按钮乱码
通过以下方式改写: Ext.onReady(function () { Ext.window.MessageBox.prototype.buttonText = { ok: "确定", cancel: "取消", yes: "是", no: "否" }; Ext.MessageBox = Ext.Msg = new Ext.window.MessageBox(); Ext.get("btn1").on("click", functio...
...但在IE浏览器中传递的中文参数在servlet变成乱码???
在用get提交页面的时候,传参时有的参数会变成中文乱码,即使我们加了Filter什么的也没用,因为参数在传到后台之前就已经变成了乱码。解决方法:前台:var str = '中文';str = encodeURI(encodeURI(str));然后将参数传到后台,在后台的处理: String str = request.getParameter("str");str = java.net.URLDecoder.d...
Extjs Panel(collapsed) CSS
怎么是乱码,输入法出问题了把,这里都是乱发,程序中当然不行了。
node.js中文文档?
node读取本地文件中文乱码 node读取本地文件 由于Node环境当中不支持GBK编码,此时读到的文件,英文可读取,但中文乱码 node.js当中的Buffer对象支持的编码格式的种类(支持的格式:ascii、utf8、utf16le、ucs2、base64、binary、hex)有限,不支持GBK的编码形式。 解决办法 iconv-lite用于在node当中处理在各种操作系统出现...