原标题:乱码问题解决之“锟斤拷”
本文作者:张语盈
本文编辑:李朋冲
技术总编:薛 原
乱码是我们在用stata读入文件时经常会出现并且令人头疼的问题,当我们错误定义了读入文件的编码时,就可能出现一些特殊的乱码问题。今天为大家介绍其中一种比较常见的乱码问题----“锟斤拷”及其解决方法。
“锟斤拷”是一串经常在搜索引擎页面和其他网站上看到的乱码字符,如下图所示的某个单位招聘信息中,联系人和联系人职位两项,就无法被正确识别出来。
“锟斤拷”源自于GBK字符集和Unicode字符集之间的转换问题。在Unicode和原有编码体系的转化过程中,有一些字符用Unicode是无法表示的,Unicode官方用了一个占位符来表示这些无法表示的字符,这个字符用unicode转义字符表示为ufffd,对应的utf-8编码为“EFBFBD”。如果这个编码重复两次,然后放到GBK/GB2312/GB18030的环境中显示时,一个汉字占据2个字节,最终的结果就是:锟斤拷——锟(EFBF),斤(BDEF),拷(BFBD)。
举一个简单的例子来解释这种乱码问题。
首先从国泰安数据库上下载一个CSV格式的资产负债表,用import delimited命令读入,并设置读入文件的编码为utf-8。程序如下:
clear
importdelimited using 资产负债表.csv, encoding( "utf-8")
可以看到变量stkcd的标签出现了乱码。