存到数据库乱码
⑴ 为什么从数据库中读出来中文的数据是乱码
一般是web服务器页面的编码与数据库不一致导致
比如做一些设置<%@Language=JScript @CodePage=936%>
1,<%@codepage="65001"%>
2,< http-equiv="Content-Type" content="text/html; charset=UTF-8">
3,Session.CodePage = 65001
4,文件存成 UTF-8
大部分数据库都支持以unicode编码方式,
所以解决与数据库之间的乱码问题比较明智的方式是直接使用unicode编码与数据库交互。
很多数据库驱动自动支持unicode,如Microsoft的sqlServer驱动。
其他大部分数据库驱动,可以在驱动的url参数中指定,如mm的mysql驱动:
jdbc:mysql://localhost/WEBCLDB?useUnicode=true&characterEncoding=GBK。
⑵ mysql数据库中乱码怎么解决
1、修改安装文件根目录下的my.ini文件:
搜索字段default-character-set,设置其值为utf8/gbk之一(注意设置utf8的时候不能设成utf-8)
再去重启MySQL服务器
如果还是出现乱码,接着执行下面操作
2、修改数据库编码
在安装目录的data目录下找到你出现乱码的数据库对应的文件夹(这个文件夹即是你这个数据库存放数据的地方),
进入找到db.opt文件(即此数据库的编码配置文件),修改值为下面的
default-character-set=gbk
default-collation=gbk_chinese_ci
再去重启MySQL服务器
如果还是出现乱码,接着执行下面操作
3、再不行,备份原数据库数据,直接drop掉这个数据库
重新创建数据库并设置编码
create database yourDB character set gbk;
别忘了重启MySQL服务器综上:如果还没有解决,我也没辙了。重装吧,重装的时候设置下编码三处的编码要一致
⑶ 为啥插入数据库是乱码
统一把编码修改成UTF-8.
另外需要调试或者写日志看看,你是把数据保存到数据库的时候出现的,还是之前出现的。
另外数据库中varchar尽量用
nvarcher
⑷ sql语句导入mysql数据库乱码怎么解决
sql语句导入mysql数据库乱码解决步骤如下:
1、首先要保证txt文件是用UTF8格式保存的,这里可以打开查看一下内容确认格式。
⑸ 为什么存到数据库里面是乱码
编码有问题,可以转变编码gb2312试试。不过,建议你在java里面设置成utf8编码与数据库一致,这样就不用其他编码了。
⑹ 插入数据库数据乱码问题
我没有使用过mysql,
但是我用其它数据库出现过类似的问题,极有可能是你本地mysql
客户端没有设置成相关字符编码,如utf-8等等所以保存后显示不出来或者为乱码。看看你同事的字符编码设置,改一下就好了,希望对你有所帮助。
⑺ 为什么我的JSP程序想数据库存入汉字时会出现乱码怎么解决啊
jsp传值到数据库出现乱码,一般有两个原因:
一种是jsp将数据发送给数据库时出现乱码,
一种是数据库拿到数据后进行存储是发生乱码,
出现第一种问题时要去看jsp标签中是否是为utf-8,再者就要看项目编目是否为utf-8右键项目名到preference下可以更改项目编码。
出现第二种问题时,代表数据库编码有问题。右键你用的数据库--数据库属性可以更换成utf-8具体视图如下显示,
在编码过程中要保证项目不出现乱码情况就要在创建项目和数据库时对其编码进行上述规定
⑻ 为什么中文存入数据库中会乱码
你的mysql客户端和你的mysql服务器的编码不一样,,应为utf8编码的中文是3个字符,而gbk编码的中文是两个字符,,这样解析出来的中文就是乱码了。。你需要该数据库的字符集编码。。。具体如下:
找到mysql 的ini配置文件
在[client]这里加上default_character_set = utf8
在[mysqld]这里加上character_set_server = utf8
不出意外应该可以了
⑼ 中文插入数据库为什么显示乱码
① 首先把MySQL的服务停掉 在运行窗口输入:net stop mysql
② 把服务器和客户端的字符集改成自己想用的字符集:GB2312或是utf8等……
具体操作为:打开mysql安装目录下的myini.tet;
找到default-character-set,将其改为自己想用的字符集:GB2312或是utf8等……,要注意的是这里有两个default-character-set,用ctrl+f定位在文件最前面输入default就会找到,都要改过来;
③ 重启MySQL服务器,在运行窗口输入:net start mysql
④ 最重要的是一点是,到这里我们已经能够解决乱码问题了,可问题是我们依然还会出现乱码问题,这是因为我们现在的表被创建的时候用的是默认的字符集(latin1),所以这时候我们要把表删除,然后重建就可以了
⑽ 数据库乱码怎么解决
展开快讯
登录
首页
专栏
问答
沙龙
快讯
团队主页
开发者手册
智能钛AI
在线学习中心
TVP
返回腾讯云官网
彻底解决MySQL中文乱码
mysql是我们项目中非常常用的数据型数据库。但是因为我们需要在数据库保存中文字符,所以经常遇到数据库乱码情况。下面就来介绍一下如何彻底解决数据库中文乱码情况。
1、中文乱码
1.1、中文乱码
无法插入中文字符:
1.2、查看表字符编码
我们可以看到表的默认字符集是latin1.
所以我们在创建表的时候就需要指定表的字符集:
这样在Linux里面可以访问并且可以插入与访问这个表了。
1.3、数据库与操作系统编码
虽然在服务器端可以显示中文正常,但是在客户端可能会显示乱码。因为我们的服务器是UTF8。
而且数据库的编码也存在问题。
这里我们可以看character_sert_database与character_set_server的字符集都是latin1.那么在mysql数据库中,server,database,table的字符集都默认是latin1.下面我们就来看看如何解决mysql乱码情况。
2、mysql设置变量的范围
2.1、session范围
查看数据库编码:
修改字符编码:
我们可以看到字符集已经修改成都是utf8了。但是这里有一个问题,那就是我们重新打开一个命令窗口然后查看数据编码就会出现下面的画面: