maple 2018 窗口关闭提示乱码_Stata15:一次性转码,解决中文乱码问题

21218cf4652607f80069f5e1e3e6206f.png
作者:连玉君 (知乎 | 主页 | 码云)

连享会-知乎推文列表

Note: 助教招聘信息请进入「课程主页」查看。

因果推断-内生性 专题 ⌚ 2020.11.12-15 主讲:王存同 (中央财经大学);司继春(上海对外经贸大学) 课程主页https://gitee.com/arlionn/YG | 微信版

http://qr32.cn/BlTL43 (二维码自动识别)

空间计量 专题 ⌚ 2020.12.10-13 主讲:杨海生 (中山大学);范巧 (兰州大学) 课程主页https://gitee.com/arlionn/SP | 微信版

https://gitee.com/arlionn/DSGE (二维码自动识别)


程序使用说明

ua 命令

适用于 stata15 用户。可以一次性对当前工作路径以及所有子文件夹中的文件进行转码(unicode),以保证中文字符可以正常显示。

安装

- 到这里 - 下载 ua.adoua.hlp,放置于 D:stata15adobaseuD:stata15adoplusu 文件夹中。(下载地址:https://gitee.com/arlionn/ua )

使用

  • 在 Stata 命令窗口中输入 help ua,查看命令介绍和 Stata 范例。参照范例使用即可。

Stata 范例

* Change current working directory (CWD)
    . cd D:stata15adopersonalmypaper

  * Unicode all .dta files in CWD and files in sub-directories
    . ua: unicode encoding set gb18030
    . ua: unicode translate *.dta

  * Unicode all files (.do, .ado, .dta, .hlp, etc.) in CWD and files in sub-directories
    . ua: unicode encoding set gb18030
    . ua: unicode translate *
连享会 - 文本分析与爬虫 - 专题视频
主讲嘉宾:司继春 || 游万海

395956aa5a67b5a65fb0e4d421343551.png

故事背景(程序撰写过程)

我昨天下午 5 点有个需求:我是从 Stata 13 直接跳到 15 的。可是,Stata 15 的中文编码方案全变了,导致 do-file 和数据文件中的中文字符全是乱码。Stata 提供了一组 unicode 开头的命令,可以很方便地进行转码。但只能一个文件夹一个文件夹地转。我用了 14 年的 stata,有成百上千个文件夹需要转码! 搜索了半天无果。只好求助涛哥 (李春涛是也)。
涛哥的第一反应是需要编程。我们的共识是需要遍历所有文件夹,记录下来,然后用循环语句进入每一个文件夹,进行转码。
我以为他会停几天再开始做这个工作。又不好催促他,以便搭他的便车。只好自己开始弄。或许他也不好意思搭我的便车,哈哈。
没想到今天晚上写好所有程序和说明文档后分享给他时,他居然也完工了!
看来,有好奇心的人都是一样的亟不可待!

背靠背工作记录

有想法:2017/12/18 17:05

cbebbf50f662ab1184d0dfc5627fa0e7.png

f1d87ff683edd6e703bba81ff944adc6.png
同时完工:2017/12/19 22:28

78516a3289afeb23dbeea801130cdf6a.png

22e51ca17254bd154a6c58f9cd169c26.png

ca7884e4b58027be2867ce99af2ad14e.png

我们的思路有何差别

整体思路:遍历当前文件夹下的所有子文件夹,对每个文件夹进行转码。 问题的关键:如何遍历所有的子文件夹,并记录这些文件夹的名称。 涛哥的思路:使用如下 dos 命令遍历当前工作文件夹下的所有子文件夹,并将他们存入一个文本文件 output.txt,随后使用 infix命令读入内存: !dir /B /S /ad >> output.txt infix strL v 1-2000 using "output.txt"
最终,涛哥的程序长这样:

36621e385e3002944b493f7e2855a636.png
君哥的思路:使用外部命令 rcd实现上述功能,所有子文件夹名称均以返回值的形式存储于内存中。执行过程如下:

8cc215d51e402a9453ffb2a78a61fc5b.png

然后就可以写一个循环逐个文件夹进行转码了:

856fe9161b73254689346a14145c061a.png

最终,君哥的程序长这样:

1f6838c08f3aa11c0067fecde29281a7.png
连享会最新专题直播

原始程序和使用方法

涛哥的程序

涛哥的程序尚未封装成 .ado 文件,但用起来到也方便。直接复制如下代码到一个 Do-file 中,使用 cd 命令进入需要转码的文件夹,然后选中如下命令,执行即可(快捷键是 Ctrl+D):

cd "D:stata15adopersonalmypaper" //自行修改
!dir /B /S /ad >> output.txt
clear
unicode analyze output.txt
unicode encoding set gb18030
unicode translate  "output.txt", transutf8
unicode erasebackups, badidea
infix strL v 1-2000 using "output.txt"
levelsof v ,local(urllist)
! del output.txt
clear 
unicode translate * , transutf8
foreach c of local urllist{
    clear
    cd `"`c'"'
    unicode encoding set gb18030
    cap unicode translate * , transutf8
}

君哥的程序

已经封装成 .ado 文件,并配有说明文档。请到 Stata连享会-码云-ua项目中(链接为:https://gitee.com/arlionn/ua)下载 ua.adoua.hlp 文件,放置于 D:stata15adobaseuD:stata15adoplusu 文件夹中。然后在 Stata 命令窗口中输入 help ua,查看命令介绍和 Stata 范例。参照范例使用即可。

Stata 范例

* 进入需要转码的文件夹
    . cd D:stata15adopersonalmypaper

  * 对当前文件夹及子文件夹中的所有 .dta 文件转码
    . ua: unicode encoding set gb18030
    . ua: unicode translate *.dta

  * 对所有类型的文件转码
    . ua: unicode encoding set gb18030
    . ua: unicode translate *

结语

生活如此美好!因为有你有我!

精选课程

支持回看,课程不受直播时间限制,可以随时购买观看。
  • 游万海,Stata: 分位数回归,4.21 日 19:00-21:00,直播.
  • 司继春, 游万海, 文本分析与爬虫:专题视频,四天直播回放
  • 连玉君,Stata: 论文精讲与重现,6 小时
  • 连玉君,Stata: 实证研究设计,2.4小时,模型设定、稳健性、内生性
  • 连玉君,Stata: 动态面板模型,2.5小时,知其然,知其所以然
  • 范巧,Matlab: 空间计量前沿系列:动态设定、DID 等,5 次课,每次 2-3 小时

相关课程

连享会-直播课 上线了! http://lianxh.duanshu.com 免费公开课:
  • 直击面板数据模型 - 连玉君,时长:1 小时 40 分钟
  • Stata 33 讲 - 连玉君, 每讲 15 分钟.
  • 部分直播课 课程资料下载 (PPT,dofiles 等)

47fe8ab44bc88337429dbebab1824547.png

课程一览

支持回看,所有课程可以随时购买观看。 连享会 - 文本分析与爬虫 - 专题视频
主讲嘉宾:司继春 || 游万海

159d5eda9d5a26b7c21f416c1c355cd9.png
连享会 - 效率分析专题 已上线:可随时购买学习+全套课件, 课程主页 已经放置板书和 FAQs
主讲嘉宾:连玉君 | 鲁晓东 | 张宁 课程主页微信版 https://gitee.com/arlionn/TE

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

f995ad886613724a76189eab1ada288c.png

关于我们
  • Stata 连享会 由中山大学连玉君老师团队创办,定期分享实证分析经验。直播间 有很多视频课程,可以随时观看。
  • 连享会-主页知乎专栏,300+ 推文,实证分析不再抓狂。
  • 公众号推文分类:计量专题 | 分类推文 | 资源工具。推文分成 内生性 | 空间计量 | 时序面板 | 结果输出 | 交乘调节 五类,主流方法介绍一目了然:DID, RDD, IV, GMM, FE, Probit 等。

75371b32315e9d810a7169765b9e5309.png

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

2640609b356d3c68e3e69896d614efd2.png

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

2fd25e5445494af684f033c7adb85f5c.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值