`

解决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");

分享到:
评论

相关推荐

    ajax解决中文乱码(java/jsp)

    这里提供了一种常见的方法——使用`encodeURI`或`encodeURIComponent`函数。 ##### 使用示例 ```javascript // 获取表单元素的值 var name = document.all('name').value; // 使用encodeURI进行编码 var url = '...

    java项目jsp中乱码问题解决

    总的来说,解决Java项目中的中文乱码问题需要理解编码与解码的基本原理,合理地设置字符编码,并在必要时进行手动转换。在开发过程中,应尽量保持统一的编码标准,避免在不同环节出现不一致导致的乱码问题。此外,...

    jsp乱码的3种解决方法

    在开发Java Web应用程序时,JSP(JavaServer Pages)是一种常用的动态网页技术,它允许开发者在HTML中嵌入Java代码,实现服务器端的数据处理。然而,由于编码问题,JSP页面在传递或显示数据时可能会遇到乱码的问题。...

    jsp乱码解决方案 本方案解决了jsp常见的乱码问题

    ### jsp乱码解决方案 #### 一、引言 在Web开发中,特别是使用Java Server Pages (JSP)进行开发时,字符编码问题是一个经常遇到的技术难题。如果处理不当,很容易导致网页显示乱码,影响用户体验及数据的正确性。...

    解决java所有中文乱码集合

    1. 编码与解码不一致:文件或数据在编码时采用了一种字符集(如GBK),但在读取或显示时使用了另一种字符集(如UTF-8),导致字符无法正确解析。 2. 浏览器与服务器编码不匹配:在JSP应用中,如果浏览器与服务器对...

    JavaJSP中文乱码问题解决心得.doc

    Java作为一种广泛使用的编程语言,其核心设计目标之一就是提供良好的跨平台能力。为此,Java采用了Unicode作为其内部处理字符的标准,这使得Java程序能够很好地支持各种语言文字。然而,这一特性也带来了一系列关于...

    利用过滤器解决JavaWeb(JSP)的乱码问题

    这个问题的出现通常是由于字符编码不一致导致的,而过滤器(Filter)作为一种强大的工具,可以有效地帮助我们解决这个问题。本文将详细讲解如何利用过滤器来解决JavaWeb中的乱码问题。 首先,我们需要理解JavaWeb中...

    Java的中文乱码及部分解决方法

    ### Java的中文乱码及部分解决方法 #### 引言 在Java开发过程中,中文乱码问题一直是开发者面临的一个挑战。这是因为Java内部采用Unicode编码,而操作系统、浏览器以及各种外部资源可能采用不同的编码格式(如GBK...

    web项目乱码问题 jsp乱码问题解决

    解决POST提交乱码的方法有以下几种: A. 手动转换:在接收参数时,先将ISO-8859-1编码的字节流转换为UTF-8编码的字符串,如下: ```java String str = new String(request.getParameter("something").getBytes("ISO...

    java插入数据乱码解决集锦

    Java作为一种广泛使用的编程语言,在处理中文等多语言文本时可能会遇到字符编码不匹配导致的乱码问题。这些问题主要源于Java程序在不同环境下与各种存储媒介(如数据库、文件系统、网络传输等)进行数据交互时发生的...

    jsp常用经典代码(md5java实现,生成中文/数字验证码,解决中文乱码)

    在IT行业中,尤其是在Web开发领域,`jsp`(JavaServer Pages)是一种常见的技术,用于创建动态网页。本主题聚焦于一些关键的jsp编程实践中涉及的知识点,包括`MD5`加密,生成中文/数字验证码以及处理中文乱码问题。 ...

    java编程中乱码问题解决

    通过上述方法,我们可以有效地解决Java编程中常见的乱码问题。关键在于确保整个流程中(包括文件、网络传输、数据库等)使用的字符集编码保持一致。此外,还应养成良好的编码习惯,如使用标准的字符集编码(如`UTF-8...

    JSP中文乱码问题最优解决方法

    ### JSP中文乱码问题最优解决方法 在Web开发中,特别是使用Java Server Pages(JSP)进行网页设计时,中文乱码问题是一个常见的技术挑战。本文将详细探讨如何有效地解决JSP页面中的中文乱码问题,并提供具体的解决...

    Java乱码问题解决

    ### Java乱码问题详解与解决方案 #### 一、问题背景 在Java开发过程中,尤其是在处理中文字符时,经常遇到字符编码不一致导致的乱码问题。由于Java默认使用Unicode编码,而在中国大陆地区,常见的字符集为GB2312...

    java Web开发乱码解决方案

    - 如果需要从一种编码转换到另一种编码,可以采用以下方法进行转换: ```java String utf8_value = request.getParameter("NAME"); // 假设请求参数名为NAME byte[] b = utf8_value.getBytes("ISO-8859-1"); // ...

    解决jsp提交乱码的问题

    综上所述,解决JSP页面提交时出现的乱码问题主要是确保客户端与服务器端使用相同的字符集,并在必要时进行编码转换。无论是GET还是POST请求,都需要关注页面的`pageEncoding`设置以及表单数据的编码方式。同时,对于...

    JSP中乱码解决办法

    另一种更为通用且高效的方法是通过实现一个过滤器。过滤器可以在请求到达目标资源之前对请求进行预处理,包括设置字符编码。以下是一个简单的过滤器实现示例: ```java public class EncodingFilter implements ...

    JSP中文乱码解决方法

    本文将详细探讨三种常见的JSP中文乱码场景及其解决方案,旨在帮助开发者有效避免和解决乱码问题。 #### 一、JSP页面显示乱码 JSP页面显示中文乱码通常发生在服务器与浏览器之间的编码不一致的情况下。例如,在JSP...

    JSP中文乱码问题分析及处理方法

    JSP(Java Server Pages)作为Web开发中的一种技术,广泛应用于动态网页的生成。然而,在处理中文字符时,JSP经常会遇到“乱码”问题,即中文字符无法正常显示,呈现出一堆无法识别的符号。这一问题主要源于字符编码...

Global site tag (gtag.js) - Google Analytics