一些中文乱码解决方案分享

HYbdbc 2011-04-07 10:13:20
前阵子开发个struts+mysql的项目,遇到一些中文乱码问题,我在网上找了一些资料,特意分享一下
中文存入乱码
1. 页面的属性写utf-8;charset=utf-8" pageEncoding="utf-8"
2. 加过滤器:
Java类:
package dao;

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;

public class SetCharacterEncodingFilter implements Filter {

public void destroy() {

}

public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException {

request.setCharacterEncoding("utf-8");

chain.doFilter(request, response);

}

public void init(FilterConfig filterConfig) throws ServletException {

}

}

Xml配置(注意:filter配置要写struts前面,否则不会生效):
<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>dao.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>

</filter>
<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
中文存入数据库乱码
1. 数据库编码utf-8 保持一致
2. 设置mysql配置文件:my.ini。 修改default-character-set=gbk
在myeclipse中查看jsp文件的时候,jsp中的中文无法正常显示,乱码!!
jsp页面显示乱码
在myeclipse中右键点击乱码的jsp文件,选择properties,在text file encoding中选择Other,在下拉框中选择utf-8,然后OK,搞定!

...全文
101 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
cento123 2011-04-07
  • 打赏
  • 举报
回复
数据库也要搞?字串在变量中是没有编码问题的啊,只是输入/输出时要注意就行了吧?
HYbdbc 2011-04-07
  • 打赏
  • 举报
回复
统一确实是好,但有时候会忘记
致知Fighting 2011-04-07
  • 打赏
  • 举报
回复
感觉上只要统一所有的编码,数据库,servlet,jsp,这样就不会出现乱码了
安特矮油 2011-04-07
  • 打赏
  • 举报
回复
有时候乱码跟中间件的编码也有关的

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧