`

解决java/jsp乱码的一种转换方法

    博客分类:
  • java
阅读更多


1.jsp的contentType 的设置
  <%@page contentType="text/html;charset=GB2312"%>

2.一个就是某些包中的类对中文没有良好的支持。就比如说我刚刚用的上传的一个包,这个包中的类对中文支持就是不好,显示在网页中的中文全部是???????。后来当我从这个包的类里取出的数据都用了new String(file_item.getName().getBytes("iso8859-1"),"GBK"))就解决了问题。
如:

<%@ page contentType="text/html; charset=GBK" language="java" import="java.sql.*" errorPage="" %>
<%@ page import="org.apache.commons.fileupload.DiskFileUpload, org.apache.commons.fileupload.FileItem" %>
<%
if("POST".equalsIgnoreCase(request.getMethod()) && request.getContentType().startsWith("multipart/form-data")) {
DiskFileUpload upload = new DiskFileUpload();
  java.util.List files = upload.parseRequest(request);//取得表单
  FileItem file_item;
  for(int i=0; i< files.size(); i++) {//循环得出表单中的元素,这里为了看是否id有值可取出dbms_phsgame
    file_item = (FileItem)files.get(i);
    //如果有id元素,就从数据库中取出dbms_phsgame
    if("file".equalsIgnoreCase(file_item.getFieldName())) {
      out.println(new String(file_item.getName().getBytes("iso8859-1"),"GBK"));
    }
 }
}
%>
<html>
<body>
  <form name="form1" enctype="multipart/form-data" method="post" action="">
      <input type="file" name="file">
    <input type="submit" name="Submit" value="提交">
  </form>
</body>
</html>

 
3.数据库数据本身就是乱码。

这里推荐一个办法---就是getBytes()的方法

//用于读数据库时由iso8859-1变为GBK
public String GBKConverter(String s_string){
try{
String des = new String(s_string.getBytes("iso8859-1"),"GBK");
return des;
}
catch(Exception ex){
String des="";
return des;
}
}
//用于处理页内生成的中文数据在写入数据库时的处理,由GBK变为iso8859-1
public String ISOConverter(String s_string){
try{
String des  =  new String(s_string.getBytes("GBK"),"iso8859-1");
return des;
}
catch(Exception ex){
String des = "";
return des
}
}

BTW:
<%@ page contentType="text/html;charset=gb2312" %>
一定有, 而且要在文件首行(不能在include文件中)

还有, 如果不能正确解析表单内容, 加这一句:

request.setCharacterEncoding("gb2312");

分享到:
评论

相关推荐

    分享JSP中文乱码解决方法

    在JSP页面中,中文显示乱码有两种情况:一种是HTML中的中文乱码,另一种是在JSP中动态输出的中文乱码。 先看一个JSP程序: &lt;&#37;@ page language=java import=java.util.* %&gt; &lt;html&gt; &lt;head&gt; &lt;...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    7.3 tomcat中servlet的另一种运行方式 244 7.4 与servlet配置相关的元素 247 7.4.1 [servlet]元素及其子元素 247 7.4.2 [servlet-mapping]元素及其子元素 249 7.5 一个实例 250 7.6 小结 253 第8章 数据库访问...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part3

    7.3 tomcat中servlet的另一种运行方式 244 7.4 与servlet配置相关的元素 247 7.4.1 [servlet]元素及其子元素 247 7.4.2 [servlet-mapping]元素及其子元素 249 7.5 一个实例 250 7.6 小结 253 第8章 数据库访问...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part4

    7.3 tomcat中servlet的另一种运行方式 244 7.4 与servlet配置相关的元素 247 7.4.1 [servlet]元素及其子元素 247 7.4.2 [servlet-mapping]元素及其子元素 249 7.5 一个实例 250 7.6 小结 253 第8章 数据库访问...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part5

    7.3 tomcat中servlet的另一种运行方式 244 7.4 与servlet配置相关的元素 247 7.4.1 [servlet]元素及其子元素 247 7.4.2 [servlet-mapping]元素及其子元素 249 7.5 一个实例 250 7.6 小结 253 第8章 数据库访问...

    java web技术开发大全(最全最新)

    《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax+》讲解了JSP/S rvlet技术的基础知识,并提供了一个综合案例展示其具体应用,它们是Java Web服务端技术的基石,也是学习Java Web开发所要必须掌握...

    java web开发技术大全

    《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax+》讲解了JSP/S rvlet技术的基础知识,并提供了一个综合案例展示其具体应用,它们是Java Web服务端技术的基石,也是学习Java Web开发所要必须掌握...

    fckedit编辑器

    查找资料:TOMCAT 链接参数有中文时,乱码解决方法 http://hi.baidu.com/jadestone/blog/item/7564deefc9192d36acafd5be.html 修改tomcat-home/conf/server.xml 方法一: 在两处地方加上URIEncoding="utf-8": ...

    从J2SE到J2EE知识点介绍

    一. Java基础 5 (一). Java运行环境 5 1.eclipse的安装 5 2.jdk的安装 5 3.配置环境变量 5 (二).java语言基础 6 1.标识符 6 2. 基本数据类型 6 (三).面向对象 6 1.类和对象 6 2.类的声明 7 3.成员变量的声明 ...

    Visustin v7.1 编程语言的流程图制作软件

    Visustin[1] 是一个支持42种编程语言的流程图制作软件。它可以将源代码转换为流程图。Visustin支持的语言有ABAP, ActionScript, Ada, ASP, assembler, BASIC, Batch files, C, C++, C#, Clipper, COBOL, ColdFusion,...

    ssh(structs,spring,hibernate)框架中的上传下载

    将FileActionForm直接作为业务层的接口入参,相当于将Web层传播到业务层中去,即将业务层绑定在特定的Web层实现技术中,按照分层模型学院派的观点,这是一种反模块化的设计,但在"一般"的业务系统并无需提供多种UI...

    Java学习笔记-个人整理的

    {8.3}创建线程的两种方法}{123}{section.8.3} {8.4}Runnable}{123}{section.8.4} {8.5}Sleep阻塞与打断唤醒}{124}{section.8.5} {8.5.1}sleep与wait的差异}{124}{subsection.8.5.1} {8.6}IO阻塞}{126}{section....

    Forum-Community:使用Spring+SpringMVC+Hibernate开发一个论坛社区

    ThisIsUs Community ...并提供了一个字符转换编码过滤器防止中文乱码.服务层使用Spring4.0,持久层使用Hibernate.使用Maven构建项目. 系统架构 社区总共为4个模块,为用户管理,社区管理,版块管理以及社区基

Global site tag (gtag.js) - Google Analytics