java开发乱码问题处理大全

java开发乱码问题处理大全

ID:8143763

大小:26.58 KB

页数:8页

时间:2018-03-07

java开发乱码问题处理大全_第1页
java开发乱码问题处理大全_第2页
java开发乱码问题处理大全_第3页
java开发乱码问题处理大全_第4页
java开发乱码问题处理大全_第5页
资源描述:

《java开发乱码问题处理大全》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、java开发乱码问题处理大全乱码对于使用非英语文字程序员基本上是一直缠绕在身边的麻烦事,这个谁也避免不了。下面是我解决乱码时候的一点小经验。欢迎指正一、避免乱码的一些注意点:1.尽量使用统一的编码,如果你是重头开发一个系统,特别是Java开发的,推荐从页面到数据库再到配置文件都使用UTF-8进行编码,安全第一。2.SetCharacterEncodingFilter的使用,这个东西不是万能的,但是没有它就会很麻烦,如果是基于Servlet开发的东西,能用的就给它用上,省心。不过有一个注意的地方,这个F

2、ilter只是对POST请求有效,GET一律忽略,不信你可以debug一下,看看它怎么做的,至于为什么不过滤get请求,好象是它对GET请求是无能为力的。3.就如上面所说,GET请求有问题,尽量使用POST请求,这个也是Web开发的一个基本要领:WebHealthWarning:PutAllDestructiveActionsBehindaPOSTmethod(fromAgileWebDevelopmentwithRails)有点扯远了,不过少用GET,是会有回报滴。4.JavaScript和Ajax

3、乱码的避免,注意JavaScript默认是ISO8859的编码,避免JS/AJAX乱码和GET一样,不要在URL里面使用中文,实在避免不了,就只能在生成链接的时候转码,绝对不能想当然的认为SetCharacterEncodingFilter会帮你做什么事情。5.尽早统一开发环境,早点模拟真实环境测试,这个好像也有跑题的嫌疑,但凡软件开发都是这么干的,但仍然值得注意。我这出现过一次状况,程序是在Win下编译的,拿去Linux上测试没问题,等实际部署的时候代码是在Linux下编译,结果乱码,秋后算帐总觉得

4、有点晚。二、乱码发生的情况和应对措施1.开发环境乱码由于Java默认使用UTF-8编码,而且网上很多人都建议Struts开发的时候应尽量选用UTF-8做为默认编码,而非GBK。IDE使用Eclipse,在第一次使用Eclipse的时候应将defaulttexteditor改为UTF-8编码,免得日后后悔再改就惨了,我本次开发的时候就忽视了这一点,刚开始没注意,结果到快交工时乱码问题无法解决,导致将所有的文件全部修改一遍,呜……自打使用Ubuntu,我就开心的笑阿,再也不用为搞这些乱码问题而烦恼^^(U

5、buntu公益广告)2.POST请求的过滤这个是最基本的了,每个Servlet系统基本都会用到这个东西。不过只对POST请求有效,这个挺关键的。使用SetCharacterEncodingFilter,这个很基础的一套过滤器,将所有来自页面的POST请求全部过滤为UTF-8编码。3.JSP,HTML页面乱码将JSP页面全部改为charset=UTF-8,这样可以保证与后台交互的时候都是UTF-8编码,一般应用做了以上工作就基本可以应付了。4.资源文件中汉字转化UTF-8字符问题国际化问题,在使用资源文

6、件的时候,由于中文在properties文件中无法被程序所识别,需要将其进行转码,我在资源文件下面制作了一个很简单的bat文件,每次修改资源文件的时候都是在一个临时文件中修改,然后执行这个bat文件,将其转化并保存为所需要的资源文件,这个动作挺烦的,也有项目组成员使用一些插件,但是那些东西都是直接写UTF-8码的,有时候反倒不方便,不过以后任务量巨大的时候可能会考虑使用。Bat文件内容:setpath=%path%;%JAVA_HOME%/bin/,native2ascii-encodingUTF-8

7、ApplicationResources_bk.txt>ApplicationResources_zh.propertiesPS:上面的方法好老了,实际操作起来相当麻烦,现在基本都是使用Eclipse插件,Eclipse3.1时使用PropertyEditor,但是这个项目看上去好像停摆了,到Eclipse3.2时改用了ResourseBundle,相当的强劲的一个插件,推荐使用。5.GET请求乱码如果在本项目中采用了get方式提交请求并附加参数,结果导致编码乱码,原因是Tomcat默认请求编码是IS

8、O8859,需要在Tomcat的配置文件server.xml添加一个参数,URIEncoding=”UTF-8”,这样请求中附件的参数就会以UTF-8来进行编码。6.Ajax请求乱码使用Ajax,JS也是默认使用ISO8859编码,所以在进行请求时遇到中文参数需要进行编码,如:varurl="GetSelectListAction.do?queryData=subTrade"+"&queryId="+encodeURI(obj.value)+"&r="+

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。