Java中如何正确使用字体编码
别声明:这是一篇来自wudale的博客的文章http://wudale.bokee.com/3594651.html
Java是目前最流行的面向对象的变成语言之一,Java支UTF-8,ISO-8859-1、GBK等各种字体编码,可笔者发现Java中字体编码的问题仍困倒了不少程序员,网上虽然也有不少关于再Java中如何正确显示中文的文章,但都不够全面,笔者特意总结如下》
影响Java中字体编码正确显示的有几个因素:1)数据库的链接方式;2)网页中使用的字体编码;3)数据库里存放数据的字体编码;4)Java的缺省字体编码。入股哦在变成中遇到不能正确显示中文是,要先弄清楚以上几项所使用的字体编码,再分析找出原因,即可解决问题。
众所周知,JSP是Java的一种,和网页有关,而网页也有自己的中文编码系统,所以JSP处理中文要比纯Java的类文件更为麻烦。本文的测试数据库害死MySQL3.2,数据库链接驱动是用org.gjt.mm.mysql.Driver,这里主要讨论UTF-8和GBk的显示(GB2312是GBK的一个子集,Java众可以使用GBK来代替GB系列)。我们先来研究JSP中字体编码问题,下面第一到第六点是针对JSP的(因为从数据库里读出中文数据与写入中文数据有所区别,咱们分别说明,前三点是从读取数据库到显示页面,后三点是从网页输入数据到存入数据库),第七到第九点针对纯Java的类文件。一下rs标识ResultSet的一个视力,是执行Select语句之后产生的数据集。
一、数据库链接方式使用UTF-8
在连接数据库的驱动后面加上这句参数useUnicode=true&characterEncoding=UTF-8,例如jdbc:mysql://localhost/DBVF?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8,从数据库里读出中文显示在使用GBk的JSP的网页里,如果数据库存放的字体编码是UTF-8,在JSP中使用str=new String(rs.getBytes(1),”UTF-8”)或者str=rs.getString(1),可以正确显示中文,如果数据库里存放的是GBk数据,那么JSP中也要使用str-new String(rs.getBytes(1),”GBK”) 来显示正确的中文。值得注意的是如果页面使用UTF-8,数据库存放的是UTF-8,也可以用str=new String(rs.getBytes(1),”GBK”)正确显示中文。如果页面是UTF-8,而数据库里存放的是GBK,无法直接显示中文,需要2步转换,str=n
相关文档:
Java学习从入门到精通
一、 JDK (Java Development Kit)
JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握JDK是学好Java的第一步。最主流的J ......
Java与C++最大的不同的,Java完全是面向对象的,是由类构成的,而C++是由对象与过程组成。
1、路径:
Java包括一个包package,C++没有;
2、引入类
java import.*.*; C++ include ""';
3、预定义,
C++包括预定义,Java不包括
4、结构
C++包括结构,Java只包括类,结构体可以转化为类。
5、类名与文件名
Jav ......
Java接口与抽象类的比较
1、 最大的区别:java抽象类可以提供某些方法的部分实现,而java接口不可以。
如果向一个抽象类里加入一个新的具体方法,那么他所有的子类都一下子得到了这个新方法,而java接口做不到这一点。如果向一个java接口里面加入一个新方法,所有实现这个接口的类就无法成功通过编译了,因为必须让 ......
Annotations
Annotations是J2SE 5.0引入的新语言特性。通常, Annotations允许开发者用一种跟运行代码无关的次要信息来标注类,方法以及成员。这样就可以使用类似评价的 Annotations,比如“好方法”、“坏方法”,或者更详细一些,“不推荐的方法”、“覆写的方法&rdq ......