我昨晚手机空间11.49在修改日志后,确认时一整版的问号乱码替代了我的文字内容,问问这样恢复我的文字内容

我昨晚手机空间11.49在修改日志后,确认时一整版的问号乱码替代了我的文字内容,问问这样恢复我的文字内容,第1张

Jsp 向 MySql 插入中文数据后在回显示页面中一个中文对应一个问号,相信很多人都遇到过。今天在向数据库插入中文时直接在库中显示了问号,在网上查了相关资料,发现对于中文乱码的解决方式还是比较多的。在此顺便将其他中文乱码的解决方法一起整理写出来。
1、Jsp页面中文乱码的解决方法如下:
页面编码改成<@ page language="java" contentType="text/html; charset=gbk" pageEncoding="gbk">
<%
//如果url地址包含中文参数,则是通过此句解决乱码问题,否则使用request *** 作的数据将显示为乱码
requestsetCharacterEncoding("gbk");
String action = requestgetParameter("action");
%>
注意requestsetCharacterEncoding("gbk");一定要放在使用request存取第一个参数之前
另外还需注意的一点,在一个项目的所有jsp页面中,使用统一的编码方式。
(servlet中:responsesetContentType("text/html;charset=gbk"); 注意:一定要写在PrintWriter out = respgetWriter();之前)
2、post方式提交内容乱码解决方法(servlet中):
requestsetCharacterEncoding("gbk"); 注意:一定要写在存取第一个参数之前
get方式提交内容乱码解决方法:
修改tomcat配置文件serverxml ,找到 URIEncoding="" 修改编码为gbk
3、对于在Jsp中往数据库插入数据后在数据库中中文显示问号。
首先在MySql命令行中输入 status 查看MySql服务端和客户端默认字符集编码是否一致为 utf8 或者 gbk、gb2312 。 如果编码有错,可以修改安装目录下的 myini 配置文件,如果没有,可以复制一份my-mediumini,重命名为myini,然后在myini中找到[mysqlld]和[client] 在这2行数据下插入 default-character-set=utf8 或者 gbk。删除有中文数据为问号的数据库,重启数据库,再建立一个库往新建表中插入中文。就可以了。
在数据库字符集编码没错的情况下如果还是中文显示问号,使用 String url = "jdbc:mysql://localhost/databaseuser=&password=&useUnicode=true&characterEncoding=gbk"; 进行数据库连接就可以了。
主要要做到的是:数据库字符集编码与连接字符集编码是一致的。

原因:

mysql的默认编码方式和代码的编码方式不一致,而引起显示问号。

解决办法:

1、打开Eclipse;

2、打开J2EE项目;

3、可以看到代码的中文编码方式不是utf8(例如是gbk),mysql的默认编码为utf8。由于两者不一致,所以在将字符插入数据库时就出现了问题;

4、所以此时只需要将代码的编码方式改为utf8即可解决。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13018103.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-29
下一篇 2023-05-29

发表评论

登录后才能评论

评论列表(0条)

保存