linux,jsp,tomcat,mysql乱码,高分求助

yangfeitarena 2010-10-19 10:48:20
1。mysql数据编码是utf8,
2。连接时也带上&useUnicode=true&characterEncoding=utf-8&autoReconnect=true,
3。页面编码全是utf-8
4。filter过滤器也设置成了utf-8
5. 用servlet存进去中文(用jdbc:insert into tb_user values("中文")),再取出来在页面上显示,全是乱码!
6。我在mysql中用select查,也是乱码

高手请指点!存数据库的代码想必大家都知道怎么存的了,显示的时候,通过webwork的一个action取数据,然后转向显示页面,如下:

ToUserListAction.java

public class ToUserListAction implements Action {
private Logger log = Logger.getLogger(ToUserListAction.class);
List<User> users=new ArrayList<User>();

public String execute() throws Exception {
ServletActionContext.getRequest().setCharacterEncoding("utf-8");
String className="[ToUserListAction]";
LoginManager lm=new LoginManager();
users=lm.getUsers();
//跳转
return SUCCESS;
}


UserList.jsp:

<%
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
response.setCharacterEncoding("utf-8");

OgnlValueStack ov = (OgnlValueStack) request.getAttribute("webwork.valueStack");

List<User> us = (List<User>) ov.findValue("users");
%>
<html>
<head>
<title>login_show.html</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<table>
<caption>
<tt>Name</tt>
<tt>PassWord</tt>
</caption>
<%for(int i=0;i<us.size();i++){ %>
<tr>
<td><%=us.get(i).getUserName() %></td>
<td><%=us.get(i).getUserPass() %></td>
<td><%=new String(us.get(i).getUserName().getBytes("ISO-8859-1")) %></td>
<td><%=new String(us.get(i).getUserName().getBytes("utf-8")) %></td>
<td><%=new String(us.get(i).getUserName().getBytes("gbk")) %></td>
<td><%=new String(us.get(i).getUserName().getBytes("gb2312")) %></td>
<td><%=new String(us.get(i).getUserName().getBytes("latin1")) %></td>
<td><%=new String(us.get(i).getUserName().getBytes("ISO-8859-1"),"utf-8") %></td>
<td><%=new String(us.get(i).getUserName().getBytes("ISO-8859-1"),"gbk") %></td>
<td><%=new String(us.get(i).getUserPass().getBytes("ISO-8859-1"),"gb2312") %></td>
<td><%=new String(us.get(i).getUserName().getBytes("latin1"),"utf-8") %></td>
<td><%=new String(us.get(i).getUserName().getBytes("latin1"),"gbk") %></td>
<td><%=new String(us.get(i).getUserName().getBytes("latin1"),"gb2312") %></td>
<td><%=new String(us.get(i).getUserName().getBytes("utf-8"),"gb2312") %></td>
<td><%=new String(us.get(i).getUserName().getBytes("gbk"),"gb2312") %></td>
</tr>
<%} %>
</table>
</body>
</html>

...全文
177 19 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
dinghw521 2010-10-19
  • 打赏
  • 举报
回复
tomcat中conf目录下的server.xml文件

<Connector
port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000"
disableUploadTimeout="true" ENCODING="UTF-8"/>

红色部分字母拼写的可能不对,你可以在网上查下等号前面的字母字母拼写,值就是你所要的字符集

你试试
zn85600301 2010-10-19
  • 打赏
  • 举报
回复
2。连接时也带上&useUnicode=true&characterEncoding=utf-8&autoReconnect=true,
LZ配过了,现在就是要单步看到底那一步开始出现乱码 就好解决了
qqq320320 2010-10-19
  • 打赏
  • 举报
回复
我已经也出现过类似问题。

lz 你直接打开数据库看,相信是乱码的,也就是说,你进入数据的时候就已经是乱码,取出来当然是乱码的

解决办法 设置jdbc.url=jdbc:mysql://127.0.0.1:3306/数据库名?characterEncoding=utf8 OK搞定
zn85600301 2010-10-19
  • 打赏
  • 举报
回复
哪就是 你insert前 获得的数据的问题 你看看到底是那一步乱码了?估计是从页面传过来就有问题
JSP 和工程 编码统一 基本上不用额外转码

yangfeitarena 2010-10-19
  • 打赏
  • 举报
回复
是乱码[Quote=引用 4 楼 zn85600301 的回复:]

你数据库的数据 是不是乱码?
[/Quote]
zn85600301 2010-10-19
  • 打赏
  • 举报
回复
你数据库的数据 是不是乱码?
yangfeitarena 2010-10-19
  • 打赏
  • 举报
回复
没通过url,我直接在servlet中就用insert插入了[Quote=引用 1 楼 zn85600301 的回复:]

6。我在mysql中用select查,也是乱码
你还是看 你为什么存的时候都是乱码 是不是url传参了
[/Quote]
xiaochengfu1 2010-10-19
  • 打赏
  • 举报
回复
每天回帖即可获得10分可用分!
zn85600301 2010-10-19
  • 打赏
  • 举报
回复
6。我在mysql中用select查,也是乱码
你还是看 你为什么存的时候都是乱码 是不是url传参了
地狱咆哮者 2010-10-19
  • 打赏
  • 举报
回复
路过,混点分,呵呵
binwenstars 2010-10-19
  • 打赏
  • 举报
回复
数据库的编码方式设置一下:gbk 在MySQL中有一个myini文件,找到3306这个数,设置编码方式就在附近,设置成GBK或者GB18030应该就行了
voice1122 2010-10-19
  • 打赏
  • 举报
回复
希望这个帖子对你有用:
http://topic.csdn.net/u/20101015/23/31e2f2cb-40ef-4014-b2fb-2a0ac8e85f29.html

还有这个:
http://topic.csdn.net/u/20101014/16/a09736c7-f477-4ecd-8e3e-681f52f3aa12.html


如果其他都没有问题,你的这句:
<td><%=new String(us.get(i).getUserName().getBytes("ISO-8859-1"),"gbk") %></td>
应该是有用的。
jypapgl 2010-10-19
  • 打赏
  • 举报
回复
另外 mySQL 好像有个 myini的文件吧 里面也设置一下
岁月之梦 2010-10-19
  • 打赏
  • 举报
回复
写过滤器了 难道也不行?
jypapgl 2010-10-19
  • 打赏
  • 举报
回复
9L办法可以一试
waitdream 2010-10-19
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 dinghw521 的回复:]
tomcat中conf目录下的server.xml文件

<Connector
port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connect……
[/Quote]

好像是URIEncoding吧?
yshao81710 2010-10-19
  • 打赏
  • 举报
回复
这是由于,你入库的时候就是乱码
zn85600301 2010-10-19
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 yangfeitarena 的回复:]

现在是我不在页面之间传,我在servelt中直接insert into tb_user values("中文"),这样就乱码!没传参数啊引用 9 楼 dinghw521 的回复:

tomcat中conf目录下的server.xml文件

<Connector
port="8080" maxThreads="150" minSpareThreads="25"……
[/Quote]
额 这都乱码。。。 感觉是DB和程序的字符集不一样吧
你直接在MYSQL 里面insert 不会乱码吧 你select出来看下 如果还乱码 那就是程序字符集的问题
yangfeitarena 2010-10-19
  • 打赏
  • 举报
回复
现在是我不在页面之间传,我在servelt中直接insert into tb_user values("中文"),这样就乱码!没传参数啊[Quote=引用 9 楼 dinghw521 的回复:]

tomcat中conf目录下的server.xml文件

<Connector
port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCo……
[/Quote]
基于jsp+servlet+mysql人事工资人力资源管理系统毕业源码案例设计 功能实现: 员工角色包含以下功能:个人信息管理,员工登录,工资查询,查看公告,查看文件,请假信息添加,登录页面等功能。 管理员角色包含以下功能:公告信息增删改查,员工增删改查,员工维护,工资信息增删改查,文件信息增删改查,系统用户管理,考勤信息增删改查导出,请假信息管理,部门增删改查,首页等(人事)功能。 可以对应的系统:人事管理系统,工资管理系统,考勤管理系统,部门管理系统,员工管理系统 用了技术框架: HTML+CSS+JavaScript+java+jsp+servlet+dao+mysql 管理员账号密码[allusers表]:adminadmin 用户账号密码[yuangongxinxi表]: user123456 如果运行后添加信息乱码,请设置项目GBK编码,配置Tomcat服务器GBK编码,也可能js需要设置GBK编码。 运行环境jdk1.8jdk1.9 IDE环境: Eclipse,Myeclipse,IDEA都可以 tomcat环境: Tomcat8.x9.x -------- 不懂运行,下载完可以私聊问,可远程教学 该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! <项目介绍> 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 --------

81,122

社区成员

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

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