欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Stata中文乱码顽疾解决方法

程序员文章站 2022-07-14 19:21:28
...

作者:于翔 (aaa@qq.com)

https://www.lianxh.cn

Stata中文乱码顽疾解决方法

一句话的事儿: 如果你试了各种现有方法都无法解决 Stata 的中文乱码问题,或许可以试一下如下命令 (真正的命令只有最后一行):

. clear         // 转码前务必先清空内存,否则会提示错误信息
. cd "D:\data"  // 待转换数据所在文件夹, 请务必事先备份一份数据
. unicode retranslate *, invalid(ignore) transutf8 nodata replace

下面是详细介绍 (如果你的问题已经解决,就不用看了)

Stata中文转码问题很难有一个让所有人满意的通用解法,对于我这样的 Stata 小白用户,一般是采取 case by case 的原则,以下是我最近处理 CGSS 数据过程中遇到的中文乱码问题和解决方法。在「Stata 学习-连享会」QQ 群中 (QQ号:225012362) 讨论后,连老师鼓励我把处理过程记录下来分享给大家,于是形成了这篇小文。

连玉君:我今天在准备 「课件」 时,调用了 Stata 12 下生成的一份数据文件,试了几个方法都无法消除里面的中文乱码。想起来前两天于翔发给我的笔记,试了一下,果然好用!

本文使用的版本是 Stata15,其中,CGSS 数据源于经管之家。

Stata中文乱码顽疾解决方法

按照 Stata 官方的介绍,我们通常采用如下命令来转换 Stata 13 以前生成的文件:

clear //转码的时候数据不能打开
cd "D:\data" //设置工作路径, 填入存放待转换数据的文件路径

*-开始转码
unicode analyze *//任何文件类型
unicode encoding set gb18030
unicode translate *

上述命令只能转换当前工作路径下的文件,对于子孙文件夹下的文件就无能为力了。
此时可以使用连玉君老师之前编写的 ua 以及 uall (项目地址:https://gitee.com/arlionn/uall ),一次性转换当前工作路径下的所有文件夹及子孙文件夹中的文件。

可以看到,并没有完全转码。Stata 提示 File not translated because it contains unconvertable characters

Stata中文乱码顽疾解决方法

变量标签也是乱码:

Stata中文乱码顽疾解决方法

此时,变量标签 label 乱码问题并没有解决,根据 Stata 的提示信息,把最后一行改成:

unicode retranslate *, invalid

此时,我们附加了 invalid 选项,转码结果如下

Stata中文乱码顽疾解决方法

完成上述操作后,大部分汉字乱码以及显示正常了,还是有个别带中文的数据产生乱码,如图

Stata中文乱码顽疾解决方法

这时,Stata 会推荐如下命令:

unicode translate   "CGSS2012.dta", transutf8
unicode retranslate "CGSS2012.dta", transutf8

我试过,但没什么用。

最终,我采用如下命令顺利解决了问题:

*-路径设定
. clear  //执行下面的命令之前务必先清空内存,否则会提示错误信息
. cd "D:\data"  //存放待转换数据的路径, 请务必事先备份一份数据

*-转码

. unicode retranslate *, invalid(ignore) transutf8 nodata replace

最终效果如下图所示:

Stata中文乱码顽疾解决方法

结语

导致转码失败或者不完全的原因有很多,如果读者没时间了解 Stata 的深层架构,希望本文可以作为一种即用的方法惠及更多人。


关于我们

  • Stata连享会 由中山大学连玉君老师团队创办,定期分享实证分析经验。
  • ???? 你的颈椎还好吗? 为了保护颈椎,您可以前往 ::连享会-主页:: (在浏览器地址栏中输入 lianxh.cn 即可) 或 ::连享会-知乎专栏:: (在知乎中搜索「连享会」即可) 查看往期推文,并将上述网址添加到浏览器收藏夹中或把您喜欢的推文【收藏】起来。
  • ???? 往期推文分类查看: 推文分成 内生性 | 空间计量 | 时序面板 | 结果输出 | 交乘调节 五类,主流方法介绍一目了然:DID, RDD, IV, GMM, FE, Probit 等。点击公众底部菜单可以快速查看。(Stata连享会,ID: StataChina )
  • ???? 公众号关键词搜索/回复 功能已经上线。大家可以在公众号左下角点击键盘图标,输入简要关键词,以便快速呈现历史推文,获取工具软件和数据下载。常见关键词:DID,RDD,PSM,面板,IV,合成控制法,内生性, Probit, plus,Profile, Bootstrap, MC, 交乘项, 平方项, 工具, 软件, Sai2, gInk, Annotator, 手写批注, 直击面板数据, 连老师, 直播, 空间计量, 爬虫, 文本分析, 正则, Markdown幻灯片, marp, 盈余管理, ……。

Stata中文乱码顽疾解决方法

相关标签: stata数据处理