「乱码java」乱码文字复制
本篇文章给大家谈谈乱码java,以及乱码文字复制对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java文件乱码,不是中文乱码,是整个都乱码
- 2、java怎么乱码了?
- 3、如何解决Java中的中文乱码问题
- 4、如何解决Java项目中的中文乱码
- 5、JAVA 乱码 根本原因是什么
- 6、在java中怎样处理中文乱码的问题?(有几种处理方式)
java文件乱码,不是中文乱码,是整个都乱码
我们在eclipse中打开java项目,发现中文都是乱码。
首先我们可以打开工具菜单“Project”--“Properties”。
在弹出的窗口选择最上面的“Resource”。
接着在右边的“Other”中选择“UTF-8”选项。
完成设置后我们发现代码中的中文就不会再乱码了。
但是我们再次打开之前的项目又会中文乱码了,所以这里我们可以把项目“src”中的所有java文件批量转换成gb2312 ,这样就不会出现中文乱码现象了。
java怎么乱码了?
大概的思路就是重新编码为gbk或者gb2312,分两种情况
一是get和post形式
二是AJax 形式
第一种:GET和POST,取决于你的页面编码,如果你的页面编码为iso8859_1
使用:String str= new String(req.getParameter("str").toString().getBytes("iso8859_1"), "GBK");
或者 String str= new String(req.getParameter("str").toString().getBytes("iso8859_1"), "GB2312");
但是,这里要注意,必须保证你的页面编码也是iso8859_1的,因为,上面的代码的意思是先将你的字符串变为iso8859_1字节流,
然后再转化为GBK编码,如果你页面传过来的编码是utf-8,那么按照上面的方法就会出现:???乱码
你页面是utf-8的,就要使用如下编码:
String str= new String(req.getParameter("str").toString().getBytes("utf-8"), "GBK");
或者 String str= new String(req.getParameter("str").toString().getBytes("utf-8"), "GB2312");
总之get post 原则很简单,页面什么编码就转化什么字节流转化编码
第二:Ajax传值
这个比较麻烦,据测试,不同的浏览器有不同的对中文编码,怎么办呢?
我们可以采用js的encodeURI()进行统一的编码,然后在后台进行统一的解码
对应的java解码代码:
str= java.net.URLDecoder.decode(str, "UTF-8");
当然,因为他是utf-8编码,所以也可以采用第一种get post 介绍的方法解码(据测试,用 String(req.getParameter("str").toString().getBytes("utf-8"), "GB2312")解码js的encodeURI()时,会出现乱码,所以还是老老实实的使用java.net.URLDecoder.decode(str, "UTF-8");)
不好意思,刚刚查了资料,上面讲的Get方式有错:
Tomcat对于GET请求并不会考虑使用request.setCharacterEncoding方法设置的编码,而会永远使用iso-8859-1编码,而这位朋友使用的正好是GET请求,因此,tomcat将会使用iso-8859-1将提交的字节转换成字符串。
所以,对于使用get方式传值的时候,统一使用String str= new String(req.getParameter("str").toString().getBytes("iso8859_1"), "GBK");当然,前提是你服务器是tomcat。
如何解决Java中的中文乱码问题
对于Java,由于默认的编码方式是UNICODE,所以用中文也易出问题,常见的解决是:
String s2 = new String(s1.getBytes(“ISO-8859-1”),”GBK”);
1、utf8解决JSP中文乱码问题
一般说来在每个页面的开始处,加入:
%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%
%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%
%
request.setCharacterEncoding("UTF-8");
%
◆charset=UTF-8的作用是指定JSP向客户端输出的编码方式为“UTF-8”;
◆pageEncoding="UTF-8",为了让JSP引擎能正确地解码含有中文字符的JSP页面,这在LINUX中很有效;
◆request.setCharacterEncoding("UTF-8");是对请求进行了中文编码。
有时,这样仍不能解决问题,还需要这样处理一下:
String msg = request.getParameter("message");
String str=new String(msg.getBytes("ISO-8859-1"),"UTF-8");
out.println(st);
如何解决Java项目中的中文乱码
一. 设置工作空间的编码
1. 编辑器的编码会影响到所有的项目中的字符的显示,可以说是作用最为广泛的设置,每一个项目都会受到这个设置的影响。点击菜单栏中的窗口(Window)— —选项(Preferences)。
2. 点击常规(General)— —工作空间(Wordspace),然后在右侧的文本文件编码格式(Text file encoding)中选择你想要设置的编码格式,系统默认的格式为GBK。
二. 设置项目的编码
1. 如果其他的项目中不存在乱码问题,只是个别项目显示时出现乱码,那么我们不需要设置工作空间的编码,只需要修改项目的编码即可。
2. 选中项目后,右键点击,在弹出的菜单中点击属性(Properties)。
3. 在弹出的属性窗口中,选择资源(Resource)— —点击选择Other(其他),然后选择你想要的编码格式。
三. 设置单个文件的编码
1. 只是个别文件出现了乱码,那么设置个别文件的编码格式就可以解决问题了。选中有乱码的文件,然后点击右键。
2. 在弹出的菜单中选择属性(Properties)。
3. 在弹出的属性窗口中选择资源,点击Other(其他)后设置个别文件的编码方式。
JAVA 乱码 根本原因是什么
java出现乱码的原因是
1.
.java
文件中的编码格式和命令提示符的指令不一致导致的
比如.java
使用的是utf-8,windows环境下命令提示符编码是gbk,在使用javac
命令进行对.java文件进行编译的时候,.java文件中的中文字符就会出现
乱码.
出现这样的情况,处理方式是通过现在编译编码-encoding
处理
javac -encoding utf-8 Test.java
在java中怎样处理中文乱码的问题?(有几种处理方式)
读取文件的时候如果是用的read方法(字节流),碰到中文输出就是乱码,然后存储的时候设置下编码为GBK或者是UTF-8形式即可,可以有效的解决乱码问题。
可以通过BufferedReader 流的形式进行流缓存,之后通过readLine方法获取到缓存的内容。
BufferedReader bre = null;
try {
String file = "D:/test/test.txt";
bre = new BufferedReader(new FileReader(file));//此时获取到的bre就是整个文件的缓存流
while ((str = bre.readLine())!= null) // 判断最后一行不存在,为空结束循环
{
System.out.println(str);//原样输出读到的内容
};
备注: 流用完之后必须close掉,如上面的就应该是:bre.close(),否则bre流会一直存在,直到程序运行结束。
可以通过“FileOutputStream”创建文件实例,之后过“OutputStreamWriter”流的形式进行存储,举例:
OutputStreamWriter pw = null;//定义一个流
pw = new OutputStreamWriter(new FileOutputStream(“D:/test.txt”),"GBK");//确认流的输出文件和编码格式,此过程创建了“test.txt”实例
pw.write("我是要写入到记事本文件的内容");//将要写入文件的内容,可以多次write
pw.close();//关闭流
备注:文件流用完之后必须及时通过close方法关闭,否则会一直处于打开状态,直至程序停止,增加系统负担。
乱码java的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于乱码文字复制、乱码java的信息别忘了在本站进行查找喔。
发布于:2022-11-27,除非注明,否则均为
原创文章,转载请注明出处。