encoding = "UTF-8"
の漢字を含むファイルを読むためにread.csv
を使用したとき、私はこれらの不思議なコードを取得します。比較少しずつR <U+9600><U+524D>のようにUTF-8コードを変換する方法
は、私は1つのマッチ漢字に彼らができるものを実現するが、どのように私は例えばバックR.
で漢字に変換することができ、<U+9600>
と<U+524D>
はそれぞれ"阀"
と"前"
です。
encoding = "UTF-8"
の漢字を含むファイルを読むためにread.csv
を使用したとき、私はこれらの不思議なコードを取得します。比較少しずつR <U+9600><U+524D>のようにUTF-8コードを変換する方法
は、私は1つのマッチ漢字に彼らができるものを実現するが、どのように私は例えばバックR.
で漢字に変換することができ、<U+9600>
と<U+524D>
はそれぞれ"阀"
と"前"
です。
あなたはexmpaleのために、中国語の文字を得るためにあなたのロケール設定を変更する必要があります。
x <- "阀"
print(x) will result in ##[1] "<U+9600>"
バックアップとしてオブジェクト内のロケール設定を保存し、我々は
以前のようロケール設定を元に戻すことができるようにoldloc <- Sys.getlocale("LC_CTYPE")
変更2番目の引数として "EN_US.UTF-8" を置くことによって、ロケール:
Sys.setlocale("LC_CTYPE", "en_US.UTF-8")
print(x) ###The result is now [1] "阀"
ロケールzh_CN.UTF-8
も試してみることができます。場合にはあなた次第混乱の何かが、あなたが以前の状態に到達するために、以下の使用することができます:OPは、Windowsマシン上で動作していることをコメントに行きながら
Sys.setlocate("LC_CYTPE",oldloc)
私はちょうど実現し、上記のコマンドは、私のMacと非常によく動作しますシエラは、しかし、Windows上で以下のように7機の警告生成します。窓に上記の問題を解決するために、しかし
Warning message: In Sys.setlocale("LC_CTYPE", "en_US.UTF-8") : OS reports request to set locale to "en_US.UTF-8" cannot be honored
を、私は以下のようにstringiの機能stri_trans_general
を使用し、これは問題を解決し、必要な漢字を印刷します
stringi::stri_trans_general(x, "zh")
出力:
> stringi::stri_trans_general(x, "zh")
[1] "阀"
あなたは、さまざまな地域のためのロケールを確認するためにhereを訪問することができます。
Rコンソールに '\ U9600'を書き込むと、あなたが書いた記号阀が得られます。 ''を '\ U9600'で' gsub'に置き換えることはできますか? – Charles
ファイルはUTF-8としてエンコードされていますか? –
使用しているOSは何ですか? Windowsの場合、UTF-8の扱いは不安定です。 –