本文目录一览:
- 1、JAVA 乱码 根本原因是什么
- 2、JAVA开发中,常见的乱码有哪几种,如何解决?
- 3、cmd运行的java文件咋是乱码
- 4、打开java文件都是乱码怎么解决?
- 5、我的myeclipse里的java文件的中文都成乱码了,求解决
JAVA 乱码 根本原因是什么
java出现乱码的原因是
.java 文件中的编码格式和命令提示符的指令不一致导致的
比如.java 使用的是utf-8,windows环境下命令提示符编码是gbk,在使用javac 命令进行对.java文件进行编译的时候,.java文件中的中文字符就会出现 乱码.
出现这样的情况,处理方式是通过现在编译编码-encoding 处理
javac -encoding utf-8 Test.java
JAVA开发中,常见的乱码有哪几种,如何解决?
1、浏览器调用jsp,html等页面中文显示乱码
此情况需满足两个要求:
(1)文件本身是以utf-8编辑保存的(myEclipse中在properties中鼠标右键选择utf-8)
(2)浏览器用utf-8解析:
(手动)== 在浏览器中右键选择编码格式为utf-8
(智能)== 在文件中写入如: meta name="content-type" content="text/html; charset=UTF-8" 通过meta标签模拟response头,起到告诉浏览器用utf-8的编码解析
(智能)== response.setContentType("text/html;charset=UTF-8");起到告诉浏览器用utf-8的编码解析
常用:
meta name="content-type" content="text/html; charset=UTF-8"或meta charset="utf-8"
%@ pageEncoding="utf-8"%
?xml encoding="UTF-8"?
2、通过浏览器调用servlet,页面显示乱码。
Servlet乱码分为request乱码和response乱码;
(1)response乱码问题
解决方法:
在网上很有效的解决方法是添加:
response.setCharacterEncoding("UTF-8");
解决不了,后来又搜到一条解决方法是:
response.setContentType("text/html;charset=utf-8");或者 response.setHeader("content-type","text/html;charset=UTF-8");告诉浏览器用utf-8解析。(setHeader是HttpServletResponse的方法。如果想在拦截器Filter中设置字符编码,则无此方法,因为Filter的doFilter方法的参数类型是ServletResponse)
两句都填上,后来终于解决了这个问题;
其实我们应该思考一下本质:
response.setContentType("text/html;charset=UTF-8"); 目的是为了控制浏览器的行为,即控制浏览器用UTF-8进行解码;
response.setCharacterEncoding("UTF-8");目的是用于response.getWriter()输出的字符流的乱码问题。如果是response.getOutputStream()是不需要此种解决方案的,因为这句话的意思是为了将response对象中的数据以UTF-8解码后的字节流发向浏览器;
cmd运行的java文件咋是乱码
当我们不加设置就编译时,相当于使用了参数:javac -encoding gbk XX.java,当然就会出现不兼容的情况。
解决方法:
1、转换成UTF-8编码格式,但仍然有错解决办法是:应该使用-encoding参数指明编码方式:javac -encoding UTF-8 XX.java
2、开始--计算机--鼠标反键(鼠标右键)--属性--高级系统设置--环境变量--系统变量新建。然后输入:“JAVA_TOOL_OPTIONS”变量,值为“-Dfile.encoding=UTF-8”然后确定、确定、在确定后。新开命令行窗口,再次输入javac命令。
打开java文件都是乱码怎么解决?
编辑器的编码会影响到所有的项目中的字符的显示,可以说是作用最为广泛的设置,每一个项目都会受到这个设置的影响。点击菜单栏中的窗口(Window)— —选项(Preferences)。
我的myeclipse里的java文件的中文都成乱码了,求解决
中文乱码是因为编码格式不一致导致的。
1、进入Eclipse,导入一个项目工程,如果项目文件的编码与你的工具编码不一致,将会造成乱码。
2、如果要使插件开发应用能有更好的国际化支持,能够最大程度的支持中文输出,则最好使 Java文件使用UTF-8编码。
3、修改默认编码:
在菜单导航栏上Window--Preferences 打开"首选项"对话框,左侧导航树,导航到 General--Workspace。
Windows 7平台默认为GBK,简体中文操作系统Windows XP、Windows 2000简体中文的缺省编码是GB18030,Linux平台默认为UTF-8,那么在此工作空间中建立的工程编码是GBK,工程中建立的java文件也是GBK。
可以看到默认的是GBK编码格式,修改为UTF-8编码格式或者是需要的编码格式,点击Apply,点击OK。
4、有时候需要某种类型的文件,如:*.jsp、*.java等,
导航栏window--preferences,
打开"首选项"对话框,左侧导航树,导航到 Genera--Content Types,
右边找到要修改的文件的类型,以*.java为例,
在下面的Default encoding,输入框中输入UTF-8-Update-OK
5、修改单个文件的编码:在包资源管理器右键点击文件-属性,改变文本文件编码格式为UTF-8 。
经过上述步骤,新建java文件即为UTF-8编码,新建项目也是UTF-8编码,在Eclipse编译、运行、调试都是没问题的。
注意事项:
请保持编码一致,不然会造成乱码,在Java开发中一般以UTF-8为主。
在转换编码前可以先备份。