「java乱码配置」java处理乱码

博主:adminadmin 2023-01-10 16:57:07 1001

今天给各位分享java乱码配置的知识,其中也会对java处理乱码进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java程序读取properties配置文件出现中文乱码

这个问题有两种办法:

第一种办法:如楼上所说的那样也可以,就是native2ascii -reverse -encoding gb2312 user.properties ActionName_zh_CN.properties这样以后,你打开ActionName_zh_CN.properties的内容,再将ActionName_zh_CN.properties文件这样置:native2ascii ActionName_zh_CN.properties userChange.properties 然后你的程序读userChange.properties的内容就可以。

第二种办法是:

如你代码里写的,你可以在String username=property.getProperty("username");之后,添加JAVA代码页可以将乱码转为中文的。用如下语句就可以了,resultName=new String(username.getBytes("ISO-8859-1"),"gbk"); 然后再用resultName就可以了,不过这样的话你下面的String password=property.getProperty("password");

都慢慢的通过上面的java代码去转。

不知道你对反射熟悉不?如果熟悉的话可以通过反射机制去做第二种办法的转码就方便多了!

javaweb怎么处理中文乱码问题

中文乱码问题真的是一个很棘手的问题,特别是从前台传到后台之后,都不知道问题出在哪里了。现在分享解决javaWEB中前后台中文乱码问题的3种方法。

方法一:

tomcat的自带编码是ISO-8859-1的格式,是不兼容中文的编码的。所以我们从后台接收的时候要注意。

采用相同的格式去接收(ISO-8859-1),然后用能解析的编码(utf-8)去转换。这样我们就能得到能兼容中文的格式了。这样处理之后发往前台。注意:发往前台的时候也需要设置一下

resp.setContentType("text/html;charset=utf-8");//设置页面的字符编码,解决界面显示中文乱码的问题

protected void service(HttpServletRequest req, HttpServletResponse resp)

throws ServletException, IOException {

//因为tomcat自带编码是ISO-8859-1格式

//解决乱码方法之一

span style="white-space:pre" /spanString name=req.getParameter("username");

span style="white-space:pre" /spanString pwd=req.getParameter("pwd");

span style="white-space:pre" /spanbyte[] b=name.getBytes("ISO-8859-1");//用tomcat的格式(iso-8859-1)方式去读。

span style="white-space:pre" /spanString str=new String(b,"utf-8");//采用utf-8去接string

span style="white-space:pre" /spanresp.setContentType("text/html;charset=utf-8");//设置页面的字符编码span style="white-space:pre" /span

span style="white-space:pre" /spanPrintWriter pw =resp.getWriter();

span style="white-space:pre" /spanString str1="htmlbodyfont size='5px' color='red'username:"+name+"pwd:"+pwd+"/font/body/html";

span style="white-space:pre" /spanpw.print(str1);

PrintWriter pw =resp.getWriter();

String str1="htmlbodyfont size='5px' color='red'username:"+name+"pwd:"+pwd+"/font/body/html";

pw.print(str1);

方法二:

由于方法一比较繁琐,采用用了简单的设置。只需要简单的一句就可以搞定

req.setCharacterEncoding("utf-8");//必须写在第一位,因为采用这种方式去读取数据,否则数据会出错。

这样就不用像之前的那样繁琐的设置了

protected void service(HttpServletRequest req, HttpServletResponse resp)

throws ServletException, IOException {

//因为tomcat自带编码是ISO-8859-1格式

//解决乱码二《法一比较繁琐》

req.setCharacterEncoding("utf-8");//必须写在第一位,因为采用这种方式去读取数据,否

则数据会出错。

//设置这样方式去读。这样中文就能够读取出来了,但是需要注意。表单的发送方式必须是span style="color:#ff0000;" method='post'/span

resp.setContentType("text/html;charset=utf-8");//设置传过去的页面显示的编码

String name=req.getParameter("username");

String pwd=req.getParameter("pwd");

PrintWriter pw =resp.getWriter();

String str1="htmlbodyfont size='5px' color='red'username:"+name+"pwd:"+pwd+"/font/body/html";

pw.print(str1);

方法三:

这是在法二的基础上修改的。虽然我们能修改编码格式去读,但是考虑到用户肯定不会修改,所以我们需要采用比较通用的办法,让用户修改配置文件。也就是web.xml文件

需要修改web.xml里面的内容,就是说,字符编码从xml接收过来。需要在xml文件中配置参数。

代码如下:

servlet

servlet-nameEncodeing/servlet-name

servlet-classcn.hncu.com.encode.Encodeing/servlet-class

init-param

param-namecharset/param-name

param-valueutf-8/param-value//这里面的内容可供用户自己填写(必须是编码格式)

/init-param

/servlet

我们知道前台和后台进行交换必须经过web.xml配置

我们需要获取web.xml的设置的参数

public void init(ServletConfig config) throws ServletException {

charset=config.getInitParameter("charset");//获得初始化参数。当然charset需要设置为全局变量。后面的service函数需要设置req.setCharacterEncoding(charset);

}

req.setCharacterEncoding(charset);

resp.setContentType("text/html;charset=utf-8");

String name=req.getParameter("username");

String pwd=req.getParameter("pwd");

PrintWriter pw =resp.getWriter();

String str1="htmlbodyfont size='5px' color='red'username:"+name+"pwd:"+pwd+"/font/body/html";

pw.print(str1);

[Java]如何解决乱码问题

乱码的话,分为几个位置的乱码。

一、是JSP页面乱码问题,

解决方式:%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%

二、后台向前端传输字符串的的乱码

解决方式: response.setContentType("text/html;charset=UTF-8");

response.setCharacterEncoding("UTF-8");

三、Ajax异步传参时的乱码问题

解决方法:contentType:"application/x-www-form-urlencoded; charset=utf-8",

四、myEclips或Eclips打开文件时乱码

解决方法:右键该文件-porperties-把该文件调为UTF-8的格式

纯手写,请给采纳

在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处理乱码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。