中易网

mysql数据库中存进的是中文,为什么查出来的乱码?

答案:6  悬赏:10  
解决时间 2021-01-17 21:55
  • 提问者网友:风月客
  • 2021-01-17 17:05
mysql数据库中存进的是中文,为什么查出来的乱码?
最佳答案
  • 二级知识专家网友:深街酒徒
  • 2021-01-17 17:41
你的mysql客户端和你的mysql服务器的编码不一样,,应为utf8编码的中文是3个字符,而gbk编码的中文是两个字符,,这样解析出来的中文就是乱码了。。你需要该数据库的字符集编码。。。具体如下:
找到mysql 的ini配置文件
在[client]这里加上default_character_set = utf8
在[mysqld]这里加上character_set_server = utf8
不出意外应该可以了
全部回答
  • 1楼网友:冷風如刀
  • 2021-01-17 22:22
你的系统中毒了,什么问题你都遇到了。你好强大!
  • 2楼网友:爱难随人意
  • 2021-01-17 21:22
mysql设置里面不支持中文吧.
  • 3楼网友:天凉才是好个秋
  • 2021-01-17 21:06
打开数据库里看看显示的是不是乱码如果不是的话 就是你jsp页面的编码问题在页面的第一行加上<%@ page contentType="text/html; charset=gb2312"%>或者选择UTF-8
  • 4楼网友:拜訪者
  • 2021-01-17 19:38
呵呵,mysql数据库编码是比较复杂的,既然你数据库中没有出现乱码,那就是说从数据库读取转换的时候出现了乱码。你只说是乱码,没有相关信息,大家没法帮你解决。所以你首先,打开mysql控制台。输入: show variebles like “character_set_%”;然后把得到的信息,贴出来,我看看问题是出在哪里了。
  • 5楼网友:几近狂妄
  • 2021-01-17 19:16
mysql数据乱码问题可能有以下三种原因:
1.server本身设定问题,例如还停留在latin1版本;
2.table的语系设定问题(包含character与collation);
3.客户端程式(例如php,java)的连线语系设定问题;
建议使用utf8!!!!
想要避免mysql的中文乱码问题,可以尝试以下方法:
1,对于版本问题,建议去官网更新最新的版本或者比较好用的版本;
2,创建数据库,创建表时没有对字符编码进行设定会造成乱码问题:
创建数据库的时候:CREATE DATABASE `test`
CHARACTER SET 'utf8'
COLLATE 'utf8_general_ci';
建表的时候 CREATE TABLE `database_user` (
`ID` varchar(40) NOT NULL default '',
`UserID` varchar(40) NOT NULL default '',
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
3,对于第三种情况,参考一下方法:
编辑linux服务器中/etc/my.cnf文件,在[mysql]段加入default_character_set=utf8;
如果只是调试遇到乱码问题:
在编写Connection URL时,加上?useUnicode=true&characterEncoding=utf-8参数;
并且在网页代码中加上一个"set names utf8"或者"set names gbk"的指令,告诉MySQL连线内容都要使用utf-8或者gbk。
utf8或者gbk;
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息