bartender数据库字段中文乱码

bartender数据库字段中文乱码,第1张

转: 首先写一个数据库test,然后写一个表table,最后插入你想要写入的字段"工资"。出现了了乱码。就得1. 启动MySQL,在里面输入 ALTER DATABASE `test` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin,将test数据库的编码设为utf8。

2. 修改表的编码:ALTER TABLE `category` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin 以上命令就是将一个表category的编码改为utf8 。

3. 修改字段的编码:直接在MySQL里右击表,然后点编辑表,在里面修改或输入代码: ALTER TABLE `test` CHANGE `dd` `dd` VARCHAR ( 45 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL。

4.得删除之前插入的字段之类的,再重新导入之前的字段

一般来说,oracle数据导出spool方式,中文出现乱码,这情况是因为数据库服务器和客户端字符集不匹配,执行sqlplus的机器就是客户端,服务器和客户端也可能是一台机器,执行sqlplus之前要先设置客户端的字符集,在linux上:export NLS_LANG=.......

在windows上set NLS_LANG查询数据库字符集:select property_value from database_properties where property_name like 'NLS_CHAR%'

1、比如查询结果是:ZHS16GBK

那你在sqlplus之前要设置:export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

然后再登录sqlplus用spool生成数据

检查下你导出时候的环境变量,导入时的环境变量

2、比如导出时NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

导入时NLS_LANG没有设置,或者设置为其他字符集,则导入的库内汉字就有可能变成乱码。

解决方法,连接数据库的时候设置正确字符集即可。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存