Java 中文问题的解决

解决|问题|中文

Java 中文问题一直困扰许多学习者。总结了下面的一些情况的解决方法。
希望对大家有帮助。

连接 Mysql Database Server:
-------------------------------------------------------------------------------
mysql 不支持 unicode,所以比较麻烦。
将 connectionString 设置成 encoding 为 gb2312
String connectionString
= "jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=gb2312";

测试代码:
String str = "汉字";
PreparedStatement pStmt = conn.prepareStatement("INSERT INTO test VALUES (?)";
pStmt.setString(1,str);
pStmt.executeUpdate();

数据库表格:
create table test (
name char(10)

连接 Oracle Database Server
-------------------------------------------------------------------------------
在把汉字字符串插入数据库前做如下转换操作:
String(str.getBytes("ISO8859_1","gb2312"

测试代码:
String str = "汉字";
PreparedStatement pStmt = conn.prepareStatement("INSERT INTO test VALUES (?)";
pStmt.setString(1,new String(str.getBytes("ISO8859_1","gb2312";
pStmt.executeUpdate();

Servlet
-------------------------------------------------------------------------------
在 Servlet 开头加上两句话:
response.setContentType("text/html;charset=UTF-8";
request.setCharacterEncoding("UTF-8";

JSP
-------------------------------------------------------------------------------
在 JSP 开头加上:
<%@ page contentType="text/html; charset=gb2312" %>

时间: 2024-09-30 12:16:34

Java 中文问题的解决的相关文章

java中文乱码之解决URL中文乱码问题的方法_java

我们主要通过两种形式提交向服务器发送请求:URL.表单.而表单形式一般都不会出现乱码问题,乱码问题主要是在URL上面.通过前面几篇博客的介绍我们知道URL向服务器发送请求编码过程实在是实在太混乱了.不同的操作系统.不同的浏览器.不同的网页字符集,将导致完全不同的编码结果.如果程序员要把每一种结果都考虑进去,是不是太恐怖了?有没有办法,能够保证客户端只用一种编码方法向服务器发出请求? 有!这里我主要提供以下几种方法 一.javascript使用javascript编码不给浏览器插手的机会,编码之后

java 中文乱码的解决方法

1. 这方法行之有效,但是谨慎用,它会作用服务器. 超链接中带有的中文字 符,<a class="add" href = "system/showDataAdd.action?title=题目&dataType=clientRank& rel=clientRankSet">添加</a> 这样如果不进行处理在后台得到的数据就会出现中文乱码的问题,由于超链接实际是用get方式进行传值的,这个问题的解决方法有:a. 在我们用的Tom

Java/J2EE中文问题终极解决之道

j2ee|解决|问题|中文 Java中文问题一直困扰着很多初学者,如果了解了Java系统的中文问题原理,我们就可以对中文问题能够采取根本的解决之道.    最古老的解决方案是使用String的字节码转换,这种方案问题是不方便,我们需要破坏对象封装性,进行字节码转换.     还有一种方式是对J2EE容器进行编码设置,如果J2EE应用系统脱离该容器,则会发生乱码,而且指定容器配置不符合J2EE应用和容器分离的原则.     在Java内部运算中,涉及到的所有字符串都会被转化为UTF-8编码来进行运

java中文解决大全(下)

解决|中文 4.中文问题的分类及其建议最优解决办法     了解以上JAVA处理文件的原理之后,我们就可以提出了一套建议最优的解决汉字问题的办法.    我们的目标是:我们在中文系统中编辑的含有中文字符串或进行中文处理的JAVA源程序经编译后可以移值到任何其它的操作系统中正确运行,或拿到其它操作系统中编译后能正确运行,能正确地传递中文和英文参数,能正确地和数据库交流中英文字符串.    我们的具体思路是:在JAVA程序转码的入口和出口及JAVA程序同用户有输入输出转换的地方限制编码方法使之正确即

java中文解决大全(上)

解决|中文 说明:本文为作者原创,作者联系地址为:josserchai@yahoo.com.由于Java编程中的中文问题是一个老生常谈的问题,在阅读了许多关于Java中文问题解决方法之后,结合作者的编程实践,我发现过去谈的许多方法都不能清晰地说明问题及解决问题,尤其是跨平台时的中文问题.于是我给出此篇文章,内容包括对控制台运行的class.Servelets.JSP及EJB类中的中文问题我剖析和建议解决办法.希望大家指教. Abstract:本文深入分析了Java程序设计中Java编译器对jav

Java读取properties配置文件时,出现中文乱码的解决方法_java

如下所示: public static String getConfig(String key) { Properties pros = new Properties(); String value = ""; try { pros.load(new InputStreamReader(Object.class.getResourceAsStream("/properties.properties"), "UTF-8")); value = pr

java中文乱码解决之道(一)—–认识字符集

java编码中的中文问题是一个老生常谈的问题了,每次遇到中文乱码LZ要么是按照以前的经验修改,要么则是baidu.com来解决问题.阅读许多关于中文乱码的解决办法的博文后,发现对于该问题我们都没有一个清晰明了的认识,于是LZ想通过这系列博文来彻底分析.解决java中文乱码问题,如有错误之处望各位同仁指出!当然,此系列博文并非LZ完全原创,都是在前辈基础上总结,归纳,如果雷同纯属借鉴-- 问题起源 对于计算机而言,它仅认识两个0和1,不管是在内存中还是外部存储设备上,我们所看到的文字.图片.视频等

java表单提交中文乱码的解决方法_java

本文实例为大家分享了java表单提交中文乱码的解决方法,供大家参考,具体内容如下 主页index.xml <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <html> <head> <title>servlet演示</title> </head> <body> <h2&

java中文传值乱码问题的解决方法_java

本文实例为大家分享了java中文传值乱码问题,以及解决方法,供大家参考,具体内容如下 一般编码格式设置: 1.可以经过两次编码处理,即设置字符集后,在插入前解码字符集,也是最有效的方式 设置字符集: String value=null; try { value= URLEncoder.encode(jsonObjectPar.getString("value"), "UTF-8"); } catch (UnsupportedEncodingException e)