myeclipse乱码在代码怎么设置

 我来答
文刀一撇
2016-11-28 · TA获得超过135个赞
知道小有建树答主
回答量:62
采纳率:100%
帮助的人:60.5万
展开全部

你的意思应该是java乱码怎么解决吧。

1.jsp与页面参数之间的乱码

强制指定request获取编码的方式:request.setCharacterEncoding(“GBK”)

如果jsp输出到页面出现乱码:response.setCharacterEncoding(“GBK”)

2.java与数据库之间的乱码

直接使用unicode与数据库进行交互,可以在驱动的url中指定,如mysql驱动:

Jdbc:mysql://localhost/SRC?useUnicode=true&characterEncoding=GBK

3.java与文件流之间的乱码

FileInputStream/FileOutpuStream是基于字节流(byte)的,常用于读写二进制文件。

FileReader/FileWriter是基于字符(char)的。这两个类的构造函数默认使用系统的编码。

使用它们的父类InputStreamReader/ OutputStreamWriter可以指定编码类型。

解决乱码问题的注意事项:

  1. 一个新的系统,从页面到数据库再到配置文件,建议统一使用UTF-8

  2. setCharacterEncodingFilter只对post请求有效,get一律忽略

  3.  JavaScript和Ajax乱码的避免,注意JavaScript默认是ISO8859的编码,避免JS/AJAX乱码和GET一样,不要在 URL里面使用中文,实在避免不了,就只能在生成链接的时候转码,绝对不能想当然的认为SetCharacterEncodingFilter会帮你做什 么事情。

  4. 如果在本项目中采用了get方式提交请求并附加参数,结果导致编码乱码,原因是Tomcat默认请求编码是ISO8859,需要在Tomcat的配置文件 server.xml添加一个参数,URIEncoding=”UTF-8”,这样请求中附件的参数就会以UTF-8来进行编码。

  5. Ajax请求乱码 使用Ajax,JS也是默认使用ISO8859编码,所以在进行请求时遇到中文参数需要进行编码,如:var url = "GetSelectListAction.do?queryData=subTrade" + "&queryId=" + encodeURI(obj.value) + "&r=" + Math.random();这里有两个地方需要注意:第一个地方是encodeURI(),方法,可以将参数进行转码,默认是转化为UTF-8,如果需要转为其他码制,需要在方法中添加第二个参数。第二个地方是Math.random(),由于Ajax有缓存机制,在接受请求的时候第一时间先判断该请求的地址是否被访问过,如果被访问过则 直接使用缓存中的内容返回,这个东西很讨厌,客户在访问过一次出错后以后每次出现的都是这个错误,所以在请求中给其增加一个时间戳,只要可以随机生成一个 不同的字串就可以,保证Ajax每次都去访问服务器。

  6. 超长汉字Get乱码

       超长的汉字做为参数传递仍然会出现乱码问题,解决方法是采用java.net.URLEncoder的          Encode方法强制转码:

        <a href="TestAction.do?name=<%= java.net.URLEncoder.encode("你好","UTF-                8")%>

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式