数据库导入的时候乱码。分成两种:
全部乱码、中文乱码。
中文乱码但英文不乱码:
通常情况下,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可执行文件是以二进制储存在系统中的,所以当用文本文件打开的时候,不管是什么编码全部乱码。
遇见再补。