java后台向mysql插入数据,数据库中显示乱码

java后台向mysql插入数据,数据库中显示乱码,第1张

MySQL中默认字符集的设置有四级:服务器级,数据库级,表级

。最终是字段级

的字符集设置。注意前三种均为默认设置,并不代码你的字段最终会使用这个字符集设置。所以我们建议要用show

create

table

table

或show

full

fields

from

tableName

来检查当前表中字段的字符集设置。

MySQL中关于连接环境的字符集设置有

Client端,connection,

results

通过这些参数,MySQL就知道你的客户端工具用的是什么字符集,结果集应该是什么字符集。这样MySQL就会做必要的翻译,一旦这些参数有误,自然会导致字符串在转输过程中的转换错误。基本上99%的乱码由些造成。

上面是我抄网上的资料来的。我试了一下。发现

mysql>

show

variables

like

'char%'

+--------------------------+----------------------------+

|

Variable_name

|

Value

|

+--------------------------+----------------------------+

|

character_set_client

|

latin1

|

|

character_set_connection

|

latin1

|

|

character_set_database

|

latin1

|

|

character_set_filesystem

|

binary

|

|

character_set_results

|

latin1

|

|

character_set_server

|

latin1

|

|

character_set_system

|

utf8

|

|

character_sets_dir

|

/usr/share/mysql/charsets/

|

+--------------------------+----------------------------+

8

rows

in

set

(0.00

sec)

解决方法已经找到。进入数据后

use

数据库名;

names

utf8

不过这样会每次进入都必须重新设置。因此。还可以在/etc/mysql/my.conf里添加

[mysql]

#no-auto-rehash

#

faster

start

of

mysql

but

no

tab

completition

default-character-set=utf8

这样数据库就不每次按照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),所以这时候我们要把表删除,然后重建就可以了


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

原文地址: http://outofmemory.cn/sjk/9608609.html

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

发表评论

登录后才能评论

评论列表(0条)

保存