易截截图软件、单文件、免安装、纯绿色、仅160KB

Java中如何正确使用字体编码

首先声明一下,此文章时从网上转载的。如下的某些方法是确实管用,但是从中发现了有一点不足,就是原文笔者没考虑使用不同Web
Server时出现的情况,比如文章里我用
红色字体
画出来的部分代码在Tomcat跑的时候得用他说的方法,不过到了WebSphere的时候必须得用原先的
String name = request.getParameter("name");
所以采取本文方法的时候不要太死板,多试试。
在Java
编程中,中文字体编码难倒了不少程序员,如果抓住了影响Java
中文显示的几个关键因素,问题将迎刃而解。
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 Strin


相关文档:

Java 读取属性文件

// messages.hello.properties
id=001
name=惜缘
love=I think,therefor i am.
friends=Hi! {0} and {1} ,how are you?
// org.PropertiesUtil.java
package org;
import java.io.UnsupportedEncodingException;
import java.text.MessageFormat;
import java.util.Locale;
import java.util.MissingResourceEx ......

关于提高自己java水平的十大技术

关于提高自己java水平的十大技术(转)
本文列出了当今计算机软件开发和应用领域最重要十种关键技术排名,如果你想保证你现在以及未来的几年不失业,那么你最好跟上这些技术的发展。虽然你不必对这十种技术样样精通,但至少应该对它们非常熟悉。
  一、XML
  在十种技术中,最重要的一种技术我想应该非XML莫属。这 ......

java中如何实现文件打包上传以及自动解压


我们在开发项目的时候,特别是B/S系统,经常会遇到要批量上传文件的需求,对此需求一般有如下几个解决方案(以B/S为例):
1. 在客户端提供文件上传接口,一次上传一个文件
2. 一次上传多个文件
3. 将需要上传的文件打包,一次上传到服务器,并自动解压到指定目录
1,2方法都有几个很明显的不足,用户工作量大,文件如果过大,在网 ......

Java线程:线程的调度 合并

Java线程:线程的调度-合并
 
线程的合并的含义就是将几个并行线程的线程合并为一个单线程执行,应用场景是当一个线程必须等待另一个线程执行完毕才能执行时可以使用join方法。
 
join为非静态方法,定义如下:
void join()    
    等待该线程终止。   ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号