存入数据库时,中文显示正常,但取出来就乱码了,怎么回事?

时间:2021-05-06 06:36:26
我用的mysql数据库,页面上编码都是utf-8,存入数据库时,在数据库中看到中文显示正常,但取出来就是乱码。该怎么解决?

9 个解决方案

#1


写个过滤器,
配置一下
过滤所有的网页,包括servlet或action

#2


不能用过滤器,连java类都不能用。只能用jsp,该怎么解决哦?

#3


自己转换,string.gebyte(1,1,1)自己查jdk文档

#4


是数据库里取出来的数据是乱码。我想可能是数据库编码没设正确,请问如何改mysql数据库的编码呢?

#5


在当初装数据库的时候设置的字符编码吧。乱码一般就3个地方:数据库,程序编码,页面编码,
在jsp里面用脚本加上这个呢?
request.setCharacterEncoding("UTF-8");
response.setContentType(”text/html;charset=UTF-8”);

#6


这说明是页面的问题,有时页面都用utf-8是有问题的,你都改成gbk试

#7


1、JSP页面
<%@ page contentType="text/html;charset=utf-8" %>
<%@ pageEncoding="utf-8" %>
2、启动时设置中文字符集
mysqld --default-character-set=utf8

#8


mysql安装的时候默认的是latin1 
改成utf8

#9


引用 7 楼 liu*g 的回复:
1、JSP页面 
<%@ page contentType="text/html;charset=utf-8" %> 
<%@ pageEncoding="utf-8" %> 
2、启动时设置中文字符集 
mysqld --default-character-set=utf8 



一个是取出来的在Action(Struts)是乱,一个是显示到页面上是乱码,如果在页面上是乱码,那就设置页面的编码格式.如果取出来了都是乱码,那就在与数据库的连接的地方把编码加上去.

#1


写个过滤器,
配置一下
过滤所有的网页,包括servlet或action

#2


不能用过滤器,连java类都不能用。只能用jsp,该怎么解决哦?

#3


自己转换,string.gebyte(1,1,1)自己查jdk文档

#4


是数据库里取出来的数据是乱码。我想可能是数据库编码没设正确,请问如何改mysql数据库的编码呢?

#5


在当初装数据库的时候设置的字符编码吧。乱码一般就3个地方:数据库,程序编码,页面编码,
在jsp里面用脚本加上这个呢?
request.setCharacterEncoding("UTF-8");
response.setContentType(”text/html;charset=UTF-8”);

#6


这说明是页面的问题,有时页面都用utf-8是有问题的,你都改成gbk试

#7


1、JSP页面
<%@ page contentType="text/html;charset=utf-8" %>
<%@ pageEncoding="utf-8" %>
2、启动时设置中文字符集
mysqld --default-character-set=utf8

#8


mysql安装的时候默认的是latin1 
改成utf8

#9


引用 7 楼 liu*g 的回复:
1、JSP页面 
<%@ page contentType="text/html;charset=utf-8" %> 
<%@ pageEncoding="utf-8" %> 
2、启动时设置中文字符集 
mysqld --default-character-set=utf8 



一个是取出来的在Action(Struts)是乱,一个是显示到页面上是乱码,如果在页面上是乱码,那就设置页面的编码格式.如果取出来了都是乱码,那就在与数据库的连接的地方把编码加上去.