博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于UTF-8, GB2312 JBoss,JSP,EJB,MySQL,STRUTS的中文解决方案
阅读量:5064 次
发布时间:2019-06-12

本文共 2612 字,大约阅读时间需要 8 分钟。

如果MySQL,J2EE平台的中文处理出现问题,则请从以下几方面考虑:
 A
、数据库配置文件my.ini
  [mysqld]
   default-characterset=utf8
  
   character-set-server=utf8
 B
mysql-ds.xml,以下为部分相关内容
  <?xml version='1.0' encoding='UTF-8'?>
  <datasources>
    <local-tx-datasource>
    <jndi-name>MySqlDS</jndi-name>
    <connection-url>
     jdbc:mysql://localhost:3306/uplatform
    </connection-url>
    <connection-propertyname='characterEncoding'>utf8</connection-property>
    <driver-class>com.mysql.jdbc.Driver</driver-class>
    <user-name>kzz</user-name>
    <password>118200</password>
   ... ... ...
  </datasources>
 C
、数据库建表请用utf8为字符集
 D
JSP请用UTF-8GB2312为编码方式
 E
Java的编码方式请用UTF-8GB2312
 F
、如果使用STRUTS架构,请加载一个Filter,完成UTF8GB2312的转换。
 G
tomcatserver.xml中的
         
打开tomcatserver.xml文件,找到区块,加入如下一行:
         
完整的应如下:
           <Connectorport='8080'
                     maxThreads='150'
                     minSpareThreads='25'
                     maxSpareThreads='75'
                     enableLookups='false'
                     redirectPort='8443'
                     acceptCount='100'
                     debug='0'
                     connectionTimeout='20000'
                     disableUploadTimeout='true'
                     URIEncoding='UTF-8'/>
 H
:建议j2ee项目(STRUTS架构)的中文解决:
      
所有jsp文件<%@ page language="java"pageEncoding="GB2312"%>
      
以(下源码I)中的过滤器采用GB2312
      
所有xml文件<?xml version="1.0"encoding="UTF-8"?>
      
打开tomcatserver.xml文件,找到区块,加入如下一行:URIEncoding='UTF-8',具体见G中描述
 I
:过滤器源码:
过滤器源码(java
package zzsy.news.util;

import java.io.IOException;

import javax.servlet.Filter;

import javax.servlet.FilterChain;

import javax.servlet.FilterConfig;

import javax.servlet.ServletException;

import javax.servlet.ServletRequest;

import javax.servlet.ServletResponse;

importjavax.servlet.http.HttpServletRequest;

importjavax.servlet.http.HttpServletResponse;

 

public class CharacterEncodingFilterimplements Filter {

         privateString encoding="";

         publicvoid init(FilterConfig args0) throws ServletException {

                   //得到配置文件中设置的初始值

                   this.encoding=args0.getInitParameter("encoding");

         }

         publicvoid doFilter(ServletRequest agrs0, ServletResponse args1,

                            FilterChainarg2) throws IOException, ServletException {

                   //强制转换请求、响应对象的类型

                   HttpServletRequestreq=(HttpServletRequest)agrs0;

                   HttpServletResponseres=(HttpServletResponse)args1;

                   //设置请求响应对象中的字符编码

                   res.setCharacterEncoding("gbk");

                   req.setCharacterEncoding("gbk");

//                 System.out.println("通过字符过滤器");

                   //跳出过滤器,继续执行请求响应

                   arg2.doFilter(req,res);

         }

         publicvoid destroy() {

                   //TODO Auto-generated method stub

         }

 

}
过滤器源码(配置) 
   <filter>

        <filter-name>CharacterEncodingFilter</filter-name>

        <filter-class>zzsy.news.util.CharacterEncodingFilter</filter-class>

        <init-param>

                  <param-name>encoding</param-name>

                 <param-value>GBK</param-value>

        </init-param>

 </filter>

 

  <filter-mapping>

        <filter-name>CharacterEncodingFilter</filter-name>

        <url-pattern>/*</url-pattern>

 </filter-mapping>

 

转载于:https://www.cnblogs.com/jefflau/archive/2012/05/28/3244357.html

你可能感兴趣的文章
21.Longest Palindromic Substring(最长回文子串)
查看>>
HDU 4635 Strongly connected
查看>>
[WPF]WPF开发方法论
查看>>
【转】先说IEnumerable,我们每天用的foreach你真的懂它吗?
查看>>
springboot web 服务器选择
查看>>
【带流程眼镜的思考】消除“等待”就是提高效率
查看>>
Weka java.lang.reflect.InvocationTargetException
查看>>
shell脚本实现无密码交互的SSH自动登陆
查看>>
Github 新学入门
查看>>
结构体
查看>>
PHP的几种排序算法的比较
查看>>
笔试准备内容
查看>>
无限遍历,Python实现在多维嵌套字典、列表、元组的JSON中获取数据
查看>>
zeroclipboard浏览器复制插件使用记录
查看>>
黑客与画家 part1 版权声明 part2 O'Reilly Media,Ina.介绍
查看>>
滤波器中的窗口
查看>>
简单三层实现登陆
查看>>
程序兵法:Java String 源码的排序算法(一)
查看>>
多久能学会编程
查看>>
如何不让php自动把&times换成×号
查看>>