mysql解决中文乱码,过滤器解决中文码

本文介绍MySQL字符集设置方法,包括环境、库、表和字段的配置原则。同时提供了解决中文乱码问题的具体步骤,涵盖Tomcat、JBOSS等应用服务器的配置调整。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一 mysql设置字符集(有四处)
环境(选 Best Support For Multilingualism 即UTF8),
库,表,字段
规则如下:
库没有特别指定,就使用环境设置的字符集.
表没有特别指定,就使用库设置的字符集.
字段没有特别指定,就使用表设置的字符集.

一般在建表时都指定表的字符集.最好是把MYSQL环境,库,表设置成一样的字符集.会
减少不必要的麻烦.

MySQL数据库设置
a)windows系统: windows下安装mysql时,编码选择utf-8,查看mysql安装目录下my,ini文件,在[mysqld]段下面加入default-character-set=utf8

二 解决中文乱码
url中加上 "useUnicode=true&characterEncoding=utf8"


new String(request.getParameter("test").getBytes("iso-8859-1"),"GBK")

但这样的代码相信不是一个解决的办法,这样会增加程序的复杂度,
,终于找到了完美的解决方式,在TOMCAT中只需要简单的配置,引入2个文件就可以
轻松搞定。
三 使用过滤器解决中文乱码
在TOMCAT中  webapps/jsp-examples/WEB_INF/classes/filter目录中
找到这2个文件RequestDumperFilter.java,SetCharacterEncodingFilter.java,
复制到filters包下

步骤2:配置WEB.XML

在web.xml里加入这一段(记住在加在display-name项和servlet项之间,因为web.xml
文件头设置的DTD文件限定了各项的顺序)

……

<filter>

<filter-name>Set Character Encoding</filter-name>

<filter-class>filters.SetCharacterEncodingFilter</filter-class>

<init-param>

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

<param-value>utf8</param-value>

</init-param>

</filter>

<filter-mapping>

<filter-name>Set Character Encoding</filter-name>

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

</filter-mapping>

……
以后写jsp就像写书本一样,加上
<%@ page contentType="text/html";charset=utf8"%>
<META http-equiv=Content-Type content="text/html";charset=utf8">

四第一原则:所有编码的地方,统一设为UTF-8,这样繁体,简体,日文,韩文。。。通吃了)
一、下载中文文件名文件问题
a)Tomcat:修改Tomcat安装目录下conf/server.xml文件,加上URIEncoding="UTF-8"/
<Connector port="8080" .... URIEncoding="UTF-8"/>

b)JBOSS :安装目录下 server/default/deploy/jbossweb-tomcat55.sar/server.xml
<Connector port="8080" .... URIEncoding="UTF-8"/
 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值