14

Linux マシンで UTF8 CSV ファイルをリモートで生成し、そのファイルを SFTP 経由で Wi​​ndows マシンに転送する Ruby スクリプトがあります。

次に、このファイルを Excel で開く必要がありますが、Excel は UTF8 を取得しないため、常に UTF8 を ANSI に変換できるテキスト エディターでファイルを開く必要があります。

Ruby を使用してプログラムでこれを行い、手動の変換手順を回避したいと考えています。それを行う最も簡単な方法は何ですか?

PS: iconv を使用してみましたが、成功しませんでした。

4

4 に答える 4

18
ascii_str = yourUTF8text.unpack("U*").map{|c|c.chr}.join

テキストがASCII文字セットに実際に適合すると仮定します。

于 2008-11-04T20:31:47.350 に答える
13

私は最終的にiconvを使用してそれを行うことができました.私はちょうどパラメータを台無しにしていました. だから、これはあなたがそれを行う方法です:


require 'iconv'

utf8_csv = File.open("utf8file.csv").read

# gotta be careful with the weird parameters order: TO, FROM !
ansi_csv = Iconv.iconv("LATIN1", "UTF-8", utf8_csv).join

File.open("ansifile.csv", "w") { |f| f.puts ansi_csv }

それでおしまい!

于 2008-11-04T20:33:04.743 に答える