web应用开发中中文乱码问题
来源:互联网 发布:全球电子元器件数据库 编辑:程序博客网 时间:2024/05/02 02:46
web应用中中文乱码问题
在java程序中,出现中文乱码问题的原因的根源在于java程序和其他存储媒介互换数据时,两者编码方案不同。
常见的中文字符编码:
- GB2312-80
GB2312是简体汉字标准字符编码方案,是基于区位码设计的。收录了常用的简体汉字、日文平假名及片假名、俄语西里尔字母等字符,不支持繁体汉字和一些生僻字。 - GBK
GBK编码是GB2312编码的超集,向下完全兼容GB2312。GBK还收录了汉字部首符号、竖排标点符号等字符,是比较通用的汉字编码方案。 - Unicode
每种语言都有自己的编码方案,增加了那些需要支持不同语言的方案的软件的难度,因此制定了一个世界标准,称为Unicode。 - UTF-8
UTF-8是用于解决国际上字符的一种多字符编码方案,它对英文采用8位编码,中文使用24位编码,包含全世界所有国家需要用到的字符,它是国际编码,通用型很强。
出现中文乱码问题的种类:
1. JSP页面显示乱码
JSP页面显示乱码是由于页面未设置编码方案,通过页面的page指令的contextType属性和pageEncoding属性以及HTML META标签的charset属性中都指定使用中文编码即可。代码举例如下。
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" import="java.sql.*"%>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
2. 表单提交中文时出现乱码
JSP获取页面参数时,一般是采用默认的编码方案(ISO8859-1),如果页面参数的编码和页面的编码不一致时,很有肯能出现乱码。如果确定乱码问题是出于此,解决方案如下。
- 在获取表单数据时,首先使用request的setCharacterEncoding()方法强行设置获取表单数据的编码方案,但是要注意这种方法仅仅适用于表单的method属性为post时。代码举例如下。
//假设页面要获得的参数名称为tname request.setCharacterEncoding("UTF-8"); String topic=request.getParameter("tname");
- 如果表单的method属性为get方式,使用手动转换的方式,代码举例如下。
//假设页面要获得的参数名称为tname String topic=request.getParameter("tname"); topic=new String(topic.getBytes("ISO-8859-1"),"UTF-8");
- 变量输出到JSP页面上出现了乱码,通过response的setContentType()方法设置。
response.setContentType("text/html;charset=utf-8");
3. 数据库读取数据显示乱码
当程序向数据库保存信息或者读取数据库的信息时会出现中文乱码现象,要保证数据库和jsp页面的编码一致,建议统一使用utf-8编码方案。本文以mysql为例。
第一步:更改数据库编码方式
首先更改表的编码方式,alter table 表名 default character set utf8;
再更改列的编码方式,alter table 表名 change 列名 列名 数据结构 character set utf-8 ;
第二步:在连接数据库时
//要输入你自己的用户名、密码、数据库名字 connection=DriverManager.getConnection("jdbc:mysql://localhost:3306/database?user=root&password=root&userUnicode=true&characterEncoding=utf-8");
3 0
- web应用开发中中文乱码问题
- web开发中,中文乱码问题汇总
- Web开发中中文乱码的问题
- 解决web应用开发中中文乱码问题的常用办法(暂时只用过这些方法)
- Web开发中文乱码问题
- 利用TOMCAT解决WEB开发中中文乱码的问题
- 解决web项目开发中常见的中文乱码问题
- 解决Java中Web开发的中文乱码问题
- java web开发过程中,中文乱码问题
- Web应用中的中文乱码问题
- web开发中文乱码问题总结
- Java Web开发中文乱码问题
- web开发中的中文乱码问题
- 关于web开发的中文乱码问题
- web开发 解决中文乱码问题
- 浅析WEB开发中的中文乱码问题
- WEB开发保存数据中文乱码问题
- Java web 开发中文乱码问题
- taglib-Bean
- 自言自语1
- taglib-logic 逻辑标签
- sourceZtree刚安装好 克隆仓库读不出来
- nanoi gpio驱动分析2
- web应用开发中中文乱码问题
- Petya and Java
- OpenBR windows官网安装问题汇总
- 所有节点对最短路径
- nanoi gpio驱动分析3 setGPIOValue
- 2016"百度之星" - 资格赛(Astar Round1) 题解
- taglib-html:浏览器会自动解析
- Spark性能相关参数配置详解-Storage篇
- java常用集合类详解