忍者ブログ
Yaleで、遊んで学ぶ日々。

Yaleで、遊んで学ぶ日々。

囲碁、ときどきプログラミング、ところにより経済。
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

寮の友人の相談をうけて、Stataで中国語表示の文字化けを直すべく奮闘した。彼は、データをStata DTA形式でもらったのだが、そのデータのいくつかの変数が中国語を含む文字列になっているらしい。これをデータブラウザで見ると、文字化けしていて、マッチングできなくて困ったというのが状況。

結論から言うと、どうやらStataでは、UTF-8で書かれた東アジア言語は文字化けするようになっているらしい。これは日本語でも中国語でも同じ。この設定を変更する手立てを色々と探したが見つからなかった。

そこで、テキストのエンコードを変換することにする。日本語の場合はSJIS, 中国語の場合はGB18030でエンコードされたファイルは正常に読めるらしい。じゃぁ日本語と中国語の混じったファイルだったらどうするんだ?という疑問が湧くが、その場合はファイルを分割して後でmergeすることになるだろう。UTF-8に対応してくれれば格段に便利なのだが。

エンコードを変更するには、まずデータをCSV形式で書き出す。コマンドは、
outsheet using file.csv
そうしたら、UTF-8のテキストファイルが出来上がった。次に、これをGB18030に変換する。これには、iconv というソフトを使う。→iconvのダウンロードペー(Windows 用)

iconv.exeのあるディレクトリにパスを通して、コマンドプロンプトから以下の命令で変換する。
iconv -f UTF-8 -t GB18030 file.csv > file2.csv
すると、GB18030で書かれたfile2.csvが出来上がる。

これをStataで読み込めば万事解決。
insheet using file2.csv


----------------------------------------------------------------------
How to fix garbled Chinese characters on Stata.
0. Install iconv.exe.  For windows, download from here.
    Add the directory where iconv.exe is to the path.

1. If you have a DTA file, export it as a CSV file by
outsheet using file.csv
    If you have a CSV file in the first place, go to 2.

2. Check the encoding of your CSV file.  A way to do so is to open the file on a text editor with specifying a certain encoding.  The encoding that does not cause garbling is the encoding of the file.

3. Open the command prompt and run
iconv -f <original encoding> -t GB18030 file.csv > file2.csv

4. Import file2.csv to Stata by
insheet using file2.csv.




 


PR
Calender
02 2024/03 04
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
Search in This Blog
Latest Comments
[03/30 川内のばば山田]
[03/30 川内のばば山田]
[08/06 Aterarie]
[07/05 Agazoger]
[07/01 Thomaskina]
Oldest Posts
Latest Trackbacks
フリーエリア

Barcode
Access Analysis
Powerd by NINJAブログ / Designed by SUSH
Copyright © Yaleで、遊んで学ぶ日々。 All Rights Reserved.
忍者ブログ [PR]