数据库导入乱码原因和一些解决方案

数据库导入的时候乱码。分成两种:
全部乱码、中文乱码。

中文乱码但英文不乱码:

通常情况下,26个英文字符、数字在所有转码的时候都是通用的。但是在使用不支持中文或者支持中文不完善的编码(比如mysql的UTF8)的时候会出现中文乱码,英文和数字没有乱码的现象。

这个的原因实际生产的时候是因为UTF-8和GBK之间乱码。

比如:将GBK转成UTF8的时候的乱码:
原文格式GBK:

这是中文  123  abc

转换成为UTF8

????????  123  abc

解决方案:统一前端和数据库的编码为UTF-8


csv打开乱码

使用office系列的excel打开csv文件的时候,默认编码不是utf-8而是gbk。导致打开的时候乱码。
当EXCEL EXCEL转CSV格式的时候,不管怎么调整都是GBK。EXCEL导入到mysql数据库的时候乱码,从数据库导出也是乱码。
 
解决:更换为其他方式打开csv文件。(txt,ues或者sublimit等)
 

数据库显示乱码和导入乱码

假如数据库没有乱码,但是打开的时候乱码。
导入导出的时候出现乱码。
 
我用的工具是dbeaver,没有自动调整编码的功能,苦恼了两天。
现象:从数据库导出的数据中文全乱码,ECXEL正常,导入到数据库的数据全部乱码。

后来解决:dbeaver可以调整导出文件编码(但是不是自动指定,要手动指定)在这里插入图片描述

解决方案:新手使用navicat。
NAVICAT的兼容性真的不错。他有一个自动的转码功能。
(即使UTF8不兼容GBK,但是在navicat中使用UTF8数据库显示GBK字符没有乱码,dbeaver默认使用UTF8显示GBK乱码乱码)

第二种:通过UES进行格式转换,将GBK格式转成UTF8.

第三种:建立数据库的核实后,使用GBK编码(这个很难处理,因为数据库建立以后就无法进行转码了)

OFFICE全家桶默认的编码是GBK,当使用非GBK格式的数据库储存到EXCEL的时候要进行转码,不然会报错。

不管设置什么编码,OFFICE出来的格式永远是GBK:
WPS和OFFICE2003没有转码选项,EXCEL2016有(就是WEB选项调整编码)但是用UES看还是GBK编码,似乎是有BUG。

如果全部是乱码的话,那也是编码的问题。将文件粘贴到UES中,然后UES会自动识别编码,将文件进行转码保存以后,即可进行导入导出。


全部乱码:

可能是BYTES字节流或者UNICODE这两个编码。我现在实际使用的时候很少见——除非手动指定。

将数据导出以后,看实际上是什么格式的编码,然后看是否编码的时候指定的编码错误。


 
更新:邮件的编码是BASE64,需要进行转码。

.exe可执行文件是以二进制储存在系统中的,所以当用文本文件打开的时候,不管是什么编码全部乱码。
遇见再补。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值