私はCSVファイルをRuby(1.8.7)にインポートしています。 。File.open( 'パス/ TO/file.csvになり')コンソールでこれをリターンを読み取る:ルビーと符号化変換
Stefan,Engstr\232m
エンコーディングはUniversalDetector(chardetのGEM)によってISO-8859-2として識別されます。文字列を変換しようとする
UniversalDetector::chardet("Stefan,Engstr\232m")
=> {"confidence"=>0.626936305574385, "encoding"=>"ISO-8859-2"}
次が得られます。
Iconv.conv("UTF-8", "ISO-8859-2", "Stefan,Engstr\232m")
=> "Stefan,Engstrm"
私が期待するのに対し:
=> "Stefan,Engström"
- は、文字列が実際にいくつかの他のエンコーディングになっていませんか?
- 私は以前に\ 232の構文を見たことがありません。通常、文字列が妙にエンコードされていると、奇妙な文字が代わりに表示されます。 またはいくつかの中国語。
さらに詳しい情報を提供したり、何かを詳しく説明してください。
それは 'ISO-8859-2'だように見えていません。 '\ 246' http://en.wikipedia.org/wiki/ISO_8859-2 –
@Kassym:ISO 8859-2では' \ 366'、 '" \ nnn "'表記は8進数を使用します。 –