300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 中文乱码 英文数字正常 所有编码都试过了还是不能正常显示的解决办法

中文乱码 英文数字正常 所有编码都试过了还是不能正常显示的解决办法

时间:2020-10-01 15:51:05

相关推荐

中文乱码 英文数字正常 所有编码都试过了还是不能正常显示的解决办法

工作中发现从某公司的BI系统中导出的csv文件,其中所有的中文字符都不能正常显示,但是英文、数字、换行符、Tab均正常显示。

使用Word和Notepad++,试了所有的Encoding,都不能正常所显示。于是怀疑是数据遭到了不正确的二次转换所致。后经反复试验,发现果然如此。原始数据在数据库中应该是以GBK形式储存,在导出csv文件时,程序错误使用了不支持中文的Windows-1252 to UTF8函数,把所有用GBK表示的两个字节的汉字拆开,每个字节当成一个带音调符号的拉丁字母(十进制128-255范围内的字符,比如ÈÕÏú),然后把这些拉丁字母转换成了UTF-8,导致乱码。

在纯英文的Windows系统环境下 ,可以直接使用Notepad++对此类乱码进行转码处理。

具体方法为:

一、首先确保操作系统的System Locale也设为英语: Control Pannel -- Region -- Administrative -- Language for non-Unicode programs也需要设置为English。

二、使用Notepad++打开包含乱码的文件,点击菜单栏中的Encoding -- Convert to ANSI,将文件转换为系统默认的ANSI-US编码,即Windows-1252。如果是中文系统,这步操作会将就文件转换为GBK,导致转换失败。因为ANSI是一个广义的编码标准,根据不同的语言环境会变化,GBK也是一种ANSI编码标准。

三、再点击Encoding -- Character sets -- Chinese -- GB2312(Simplified Chin

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。