java数据库中文乱码怎么解决

java数据库中文乱码怎么解决,第1张

可能原因一:数据库不支持中文,或者是数据库编码格式和java代码编码格式不一致,这种情况需要修改数据库编码格式:

ALTER SYSTEM DISABLE RESTRICTED SESSION改完编码后执行

sql>conn / as sysdba

sql>shutdown immediate

database closed.

database dismounted.

oracle instance shut down.

sql>startup mount

oracle instance started.

total system global area 135337420 bytes

fixed size 452044 bytes

variable size 109051904 bytes

database buffers 25165824 bytes

redo buffers 667648 bytes

database mounted.

sql>alter system enable restricted session

system altered.

sql>alter system set job_queue_processes=0

system altered.

sql>alter system set aq_tm_processes=0

system altered.

sql>alter database open

database altered.

sql>alter database character set internal_use UTF-8

sql>shutdown immediate

sql>startup

可能原因二:java代码生成插入语句的时候,已经发生乱码现象,这种只能是修改项目编码格式或者是在数据获取的时候直接转译代码编码格式来实现了。

两种方法:1、打开mysql目录下的my.ini或my.cnf(Linux下),找到default-character-set这一项,(在[mysql]后),改成default-character-set=gbk。这种方法一劳永逸,效果不错。2、在将数据写入数据库之前,将所有包含中文的字符串进行字符转换成ISO或UTF8(看你的mysql使用的是什么字符集了);在将含有中文的字符串从数据库里读出来后在用程序转换成GBK或GB2312。这种方法比较麻烦,每次写入和读出中文之前都必须调用这两个方法。推荐第一种方法。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存