找到mysql
的ini配置文件
在[client]这里加上default_character_set
=
utf8
在[mysqld]这里加上character_set_server
=
utf8
不出意外应该可以了
可能原因一:数据库不支持中文,或者是数据库编码格式和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代码生成插入语句的时候,已经发生乱码现象,这种只能是修改项目编码格式或者是在数据获取的时候直接转译代码编码格式来实现了。
① 首先把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),所以这时候我们要把表删除,然后重建就可以了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)