「乱码java」乱码文字复制

博主:adminadmin 2022-11-27 16:51:10 54

本篇文章给大家谈谈乱码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的信息别忘了在本站进行查找喔。

The End

发布于:2022-11-27,除非注明,否则均为首码项目网原创文章,转载请注明出处。