用ua命令來解決文件亂碼問題

2021-02-23 經濟學研究方法
一、引言我們在使用Stata讀入網上下載的數據或原有Stata版本下的do文件、dta文件、ado文件等,經常會出現亂碼現象。比如在上篇推文《數據整理:歷任基金經理變更數據》中,一開始Stata讀入一個txt文件,裡面所有的中文全部變成亂碼了。如下圖讀入前:讀入後 :

在上篇推文中,我們用Stata中的import delimitedencoding 選項來解決亂碼問題。除了這種方法,Stata也提供了一組unicode命令,可以幫助我們對於一個文件或者一個文件夾下的多個文件進行轉碼以解決亂碼問題。我們可以試一下,對上述文件先進行轉碼後再讀入。程序如下:

clear allcd D:\stata16\基金經理 //指定轉碼文件所處的文件夾unicode analyze 歷任基金經理.txt // 分析文件是否需要轉碼unicode encoding set gb18030 //設定轉碼的類型為中文即編碼為gb18030unicode translate 歷任基金經理.txt    //對文件進行轉碼

轉碼後讀入:

那麼,針對一個文件夾下多個或全部文件如何進行轉碼呢?和上述程序沒有本質區別,略微改動即可。程序如下:

clear allcd  D:\stata16\需要轉碼 //進入到你想要轉碼的文件夾unicode analyze *.txt //分析文件下所有txt文件(視具體情況用*/*.do/*.dta等)unicode encoding set gb18030unicode translate *.txt   //轉碼文件夾下所有txt文件(視具體情況用*/*.do/*.dta等)

注意:通配符*表示轉碼文件夾下所有類型文件,*.do或者*.dta則表示要轉碼文件夾下的所有do文件或者dta文件。  以上程序看起來很好用,但是只有當前工作目錄中的文件可以使用unicode命令系列完成,如果我們要對許多文件夾下的文件進行轉碼時,用上述命令的話就不合適了,因為需要頻繁手動更改路徑,一次一次不停的轉碼,十分費時費力,那有什麼命令可以一步到位嗎?當然有!unicode all(ua)命令,可以幫助我們一次性對當前工作路徑以及所有子文件夾下的文件進行轉碼。下面我們一起來看一下吧!二、unicode all(ua)命令unicode all(ua)命令是2017年由連玉君老師編寫的,初衷就是為了可以一次性對當前工作路徑以及所有子文件夾中的文件進行轉碼,以保證中文字符可以正常顯示。現在我們來看看應該如何安裝與使用。(一)安裝

1.由於ua命令是外部命令,所以我們首先要下載並安裝。連玉君老師寫過一篇文章給出了連結(https://gitee.com/arlionn/ua),我們要下載 ua.ado 和 ua.hlp 文件,放置於Sata16下相應的位置。如ua.ado文件放在D:\stata16\ado\base\u 文件夾中, ua.hlp 文件放在D:\stata16\ado\plus\u中。

2.我們使用命令 ssc install ua進行安裝後,也能夠成功運行。

(二)使用我們可以在Stata中輸入help ua 查看ua命令的用法。具體程序如下:
clear allcd  //進入到你想要轉碼的文件夾(此時文件夾中有多個子文件夾)  ua:unicode encoding set gb18030 //設定轉碼的類型為中文即編碼ua:unicode translate * //(視具體情況用*/*.do/*.dta等)

注意:通配符*表示轉碼文件夾下所有類型文件,*.do或者*.dta則表示要轉碼文件夾下的所有do文件或者dta文件。

(三)例子現在我們要對如下圖的文件夾下的5個子文件夾進行轉碼。若不使用ua命令,我們需要分別進入到這5個子文件夾路徑下,將上述對一個文件夾中多個文件進行轉碼的程序進行5次,依次進行轉碼的確麻煩(我們這裡包含的子文件夾少,或許還不是太麻煩,但若包含成百上千個子文件的話,確實需要ua命令來一步到位)。

需要轉碼的文件夾: 

我們先隨便讀入其中兩個文件:

1、4a文件夾下的一個亂碼文件 2、資產總計文件夾下的一個亂碼文件

下面我們開始進行轉碼,程序如下:

clear allssc install ua   //安裝ua命令cd D:\stata16\需要轉碼  //進入到我們要轉碼的文件夾 ua: unicode encoding set gb18030  //設定轉碼的類型為中文ua: unicode translate *.txt  //這裡對子文件裡所有txt類型的文件進行轉碼

Stata結果窗口顯示:

1、安裝ua命令:2、設定轉碼類型(這裡僅截屏3個):3、執行下列命令:

ua: unicode translate  *.txt

Stata會從上到下遍及每個文件夾,開始對所有txt文件進行轉碼。(以下截屏第一個子文件夾和最後一個子文件夾轉碼結果)

4、現在我們再次讀入上述展示的兩個亂碼文件,驗證是否轉碼成功,我們發現沒有出現亂碼。

通過上述程序,我們順利解決了當前工作路徑以及所有子文件夾中的文件亂碼問題。我們對ua命令的介紹到這裡就結束了,以後大家遇到這種情況,可以試著用本文的方法予以解決。

相關焦點

  • 解決Excel打開文件亂碼的問題
    今天用公司的CMS導出了一個CSV數據文件,需要在Excel中處理並打開,但是我直接用Excel打開這個CSV文件卻發現,文件中的所有中文字符都變成了亂碼
  • 解決Stata跨版本的UTF-8亂碼問題
    把存放數據的文件夾設置為stata默認工作文件夾。②.   在命令窗口輸入:unicode encoding set gb18030,回車。③.   繼續在命令窗口輸入:unicode translate xx.dta,回車。 //xx為數據文件名。④.
  • Windows和Ubuntu Linux安裝VScode解決打開文件時中文亂碼問題
    我們現在很多編程開放工作中,VSCode已經成了一款難以繞過去的輕量級完善好用的代碼編輯器。功能完善兼容性好體驗不錯,受到越來越多的開發者的認可。所以涉及到編程工作,VScode的安裝是個必備的準備工作。
  • JavaWeb 亂碼問題終極解決方案!
    對於一些老司機而言,其實並不太容易遇到亂碼問題,但是對於一些新手來說,亂碼幾乎是家常便飯,而且每當亂碼時,網上搜了一大堆解決方案,發現自己的問題還是沒能解決,其實這就是平時研究代碼不求甚解導致的,亂碼問題,也要去分析,然後才能對症下藥,才能藥到病除。
  • SPSS基礎:【09】數據文件亂碼解決辦法
    有時候,我們打開從其他人那裡或者網上下載的spss格式的數據文件會出現亂碼。為什麼會出現亂碼呢?如何解決亂碼問題呢?一、為什麼會出現亂碼?數據文件在存儲時,一般都有對應的編碼方式,我將它稱為存儲編碼。同樣SPSS軟體在打開數據時,也會用預先設置好的編碼方式去解析數據文件中的數據,此處的編碼我將它稱為打開編碼。如果存儲編碼和打開編碼不一致,那麼就有可能出現亂碼。為什麼說有可能,而不是一定會亂碼呢?
  • 解決idea控制臺中文亂碼問題
    可是有時候會遇到中文亂碼問題。本文將介紹大家,怎麼解決idea的控制臺中文亂碼情況。請看亂碼信息:程序報錯了。可是控制臺又亂碼了,怎麼解決呢?一:設置所有文件都是UTF-8編碼。具體:左上角:File-->settings-->Editor-->File Encodings 將所有編碼都設置為UTF-8模式二:修改idea配置文件IDEA安裝目錄,將2個idea64.exe.vmoptions、idea.exe.vmoptions
  • Matplotlib中文亂碼問題解決方案
    「你的問題,我來幫」本文轉自數據分析師(Python)優秀學員 Mr.喵的知乎文章摘要:Matplotlib
  • php中文亂碼問題的終極解決方案匯總
    (商務合作聯繫QQ號:2230304070)http://www.jb51.net/article/120024.htm前言本文主要給大家介紹了關於php中文亂碼問題的終極解決方案,分享出來供大家參考學習,
  • Excel打開csv文件出現亂碼的解決方法
    CSV文件是一種數據文件,正常情況下,我們可以直接在excel表格中打開CSV文件,不過有時也會出現亂碼,很多人不知道該如何解決。
  • matplotlib中文顯示亂碼問題解決步驟
    「 本文解決Windows環境下matplotlib中文顯示亂碼問題。
  • 自己動手 教你解決AKAIO金手指亂碼問題
    內容分享:jy02351812  AK自製內核AKAIO因為更新快,功能多受到不少AK燒錄卡用戶的青睞,但是由於內核的編碼問題,導致AK本身的金手指包括兼容的R4金手指文件在AKAIO內核上顯示亂碼。
  • python筆記5-python2寫csv文件中文亂碼問題
    對中文編碼糾結的建議儘快換python3吧,python2且用且珍惜!一、csv中文亂碼1.open打開csv文件,用writer寫入帶有中文的數據時- writer寫入單行- writers寫入多行```# coding:utf-8import csvf = open("xieru.csv", 'wb')writer =
  • 盤點CSV文件在Excel中打開後亂碼問題的兩種處理方法
    Excel中打開後亂碼的問題,如下圖所示。不過別慌,小編在這裡給大家整理了兩種方法,專門用於針對CSV文件亂碼的,希望大家在後面再次遇到這樣亂碼的問題,在此處可以得到靈感!一、思路    其實解決問題的關鍵點就是在於一點,就是編碼的轉換。這裡例舉兩種方法,肯定還有其他的方法的,也歡迎大家在評論區諫言。
  • 用Excel打開CSV格式文件亂碼,三種方法可以處理好!
    這款軟體不僅功能齊全,還可以兼容很多的文件格式。這些辦公軟體帶給我們方便,同時日常使用過程中也會出現一些問題。小編今天就有這樣一個問題,有朋友在使用office中的excel電子表格編輯工具來打開csv文件,但是他卻發現在打開的時候文件總是會顯示亂碼的情況,可對於.csv文件格式,excel是支持的,這是為什麼呢?就是這樣一個問題大家有沒有遇到過並解決好了嗎?現在小編就帶給你兩種解決的方法。
  • IE瀏覽器下繁體字亂碼的解決辦法
    公司老總的一個親戚在臺灣,經常收到那邊的E-mail,由於對方使用的繁體系統,所以可想而知,收到後都是亂碼;他求助與我,我也未曾處理過同類問題,尋求解決辦法的過程中,我摸索出一套方法:  1.將IE的菜單--查看--編碼--自動選擇勾選;如果該網頁沒有註明字體,可以手動選擇--其他--繁體中文Big5;  2.使用windows
  • securecrt中文亂碼解決方法
    securecrt中文亂碼解決方法 發表於 2017-11-10 16:57:37   SecureCRT是一款支持SSH(SSH1和SSH2)的終端仿真程序,簡單地說是Windows下登錄UNIX
  • stm32CubeIDE如何修改文檔編碼,來解決文本注釋亂碼問題
    .於是今天先不講技術問題了,說一個關於如何修改文檔編碼的小方法吧.02背景當您的項目是用keil5開發的,然後想用stm32cubeIDE打開或者再keil5中複製了一部分代碼連通注釋過來到stm32cubeIDE中,那很遺憾,你一定會遇到注釋亂碼的情況.如何能恢復正常的漢字顯示呢,這就是今天我要介紹的了.
  • 字符集及其存儲方式(解決亂碼問題)
    閱讀大概需要4分鐘在我們進行文本挖掘或處理文檔時,都要面臨一個最最基本的問題->就是解決亂碼問題。
  • word打開是亂碼的5種解決方法
    內容提要:本文介紹word打開是亂碼的五種解決方法,比如刪除格式、轉換格式、打開並修復、提取文字等等來解決Word亂碼問題。 時不時都會遇到群裡朋友問到word打開是亂碼,該如何處理。word打開是亂碼有可能是文件格式出現問題,也有可能遭病毒,或者是文檔被破壞等等原因。
  • 我這樣解決TXT亂碼
    度娘給的第一個解決方法如下:剛剛搜到了一種方法很管用步驟如下(我是WIN7系統):打開「控制面板」——點「時鐘、語言和區域」中的「更改顯示語言」——出現對話框選擇「管理」選項卡——有個「更改系統區域設置」按鈕點開——在當前系統區域設置中的下拉列表框裡選擇「英語(英國)」後點「確定"——會彈出對話框提示是否重啟計算機——選重啟計算機生效。