Stata中文乱码顽疾解决方法

发布时间:2020-03-05 阅读 945

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

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

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

Stata连享会   主页 || 视频 || 推文

连享会 - Stata 暑期班

线上直播 9 天:2020.7.28-8.7
主讲嘉宾:连玉君 (中山大学) | 江艇 (中国人民大学)
课程主页https://gitee.com/arlionn/PX | 微信版

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

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

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

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

  • ounter(line
  • ounter(line
  • ounter(line
  • ounter(line
  • ounter(line
  • ounter(line
  • ounter(line
clear //转码的时候数据不能打开cd "D:\data" //设置工作路径, 填入存放待转换数据的文件路径
*-开始转码unicode analyze *//任何文件类型unicode encoding set gb18030unicode translate *

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

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

变量标签也是乱码:

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

unicode retranslate *, invalid

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

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

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

  • ounter(line
  • ounter(line
unicode translate   "CGSS2012.dta", transutf8unicode retranslate "CGSS2012.dta", transutf8

我试过,但没什么用。

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

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

最终效果如下图所示:

结语

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

相关课程

连享会-直播课 上线了!
http://lianxh.duanshu.com

免费公开课:


课程一览

支持回看,所有课程可以随时购买观看。

专题 嘉宾 直播/回看视频
Stata暑期班 连玉君
江艇
线上直播 9 天
2020.7.28-8.7
效率分析-专题 连玉君
鲁晓东
张 宁
视频-TFP-SFA-DEA
已上线,3天
文本分析/爬虫 游万海
司继春
视频-文本分析与爬虫
已上线,4天
空间计量系列 范巧 空间全局模型, 空间权重矩阵
空间动态面板, 空间DID
研究设计 连玉君 我的特斯拉-实证研究设计-幻灯片-
面板模型 连玉君 动态面板模型-幻灯片-
直击面板数据模型 [免费公开课,2小时]

Note: 部分课程的资料,PPT 等可以前往 连享会-直播课 主页查看,下载。


关于我们

  • Stata连享会 由中山大学连玉君老师团队创办,定期分享实证分析经验。直播间 有很多视频课程,可以随时观看。
  • 连享会-主页知乎专栏,300+ 推文,实证分析不再抓狂。
  • 公众号推文分类: 计量专题 | 分类推文 | 资源工具。推文分成 内生性 | 空间计量 | 时序面板 | 结果输出 | 交乘调节 五类,主流方法介绍一目了然:DID, RDD, IV, GMM, FE, Probit 等。
  • 公众号关键词搜索/回复 功能已经上线。大家可以在公众号左下角点击键盘图标,输入简要关键词,以便快速呈现历史推文,获取工具软件和数据下载。常见关键词:
    • 课程, 直播, 视频, 客服, 模型设定, 研究设计, 暑期班
    • stata, plus,Profile, 手册, SJ, 外部命令, profile, mata, 绘图, 编程, 数据, 可视化
    • DID,RDD, PSM,IV,DID, DDD, 合成控制法,内生性, 事件研究, 交乘, 平方项, 缺失值, 离群值, 缩尾, R2, 乱码, 结果
    • Probit, Logit, tobit, MLE, GMM, DEA, Bootstrap, bs, MC, TFP, 面板, 直击面板数据, 动态面板, VAR, 生存分析, 分位数
    • 空间, 空间计量, 连老师, 直播, 爬虫, 文本, 正则, python
    • Markdown, Markdown幻灯片, marp, 工具, 软件, Sai2, gInk, Annotator, 手写批注, 盈余管理, 特斯拉, 甲壳虫, 论文重现, 易懂教程, 码云, 教程, 知乎

连享会主页  lianxh.cn
连享会主页 lianxh.cn

连享会小程序:扫一扫,看推文,看视频……


扫码加入连享会微信群,提问交流更方便

✏ 连享会学习群-常见问题解答汇总:
https://gitee.com/arlionn/WD