为什么JAVA会产生乱码

为什么JAVA会产生乱码,第1张

大多数情况因为编码不一致造成。在web开发中,tomcat的默认为iso-8859-1而实际项目中,用的大多数是utf-8解决方法有两个

在java程序中转换

在tomcat容器中将编码改为utf-8

要明白,用filewriter读取文件采取的是平台默认编码(视 *** 作系统而定)。当要写入的文本文件编码和平台默认编码不一致时,就会出现中文乱码的情况。这时可以使用filewriter 的父类OutputStreamWriter来读取。OutputStreamWriter允许用户指定编码方式,代码为:

FileInputStream fis=new FileInputStream("文件路径");

OutputStreamWriter osw=new OutputStreamWriter(fis,"文本文件的编码方式(ANSI,UTF-8)");

oswwrite();

这样写入的编码可以保证和源文本文件编码一致,就不会出现乱码了。

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的编码解析

(智能)==> responsesetContentType("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乱码问题

解决方法:

在网上很有效的解决方法是添加:

responsesetCharacterEncoding("UTF-8");

解决不了,后来又搜到一条解决方法是:

responsesetContentType("text/html;charset=utf-8");或者 responsesetHeader("content-type","text/html;charset=UTF-8");告诉浏览器用utf-8解析。(setHeader是>

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

一、是JSP页面乱码问题,

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

pageEncoding="UTF-8"%>

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

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

responsesetCharacterEncoding("UTF-8");

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

解决方法:contentType:"application/x->

以上就是关于为什么JAVA会产生乱码全部的内容,包括:为什么JAVA会产生乱码、java中filewriter中文乱码怎么解决、JAVA开发中,常见的乱码有哪几种,如何解决等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9340478.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存