2011-11-10 25 views
0

Rubyでiconvを使用して文字列を簡体字中国語から繁体字中国語(またはその逆)に変換するにはどうすればよいですか?iconvを使用して繁体字中国語を簡体字中国語に変換する

私は完全に異なる文字列を取得

Iconv.conv("gb2312//IGNORE", "big5//IGNORE", '大家一起學中文') 

を試してみました。私はGBKとBIG5のエンコーディングを試しましたが、IllegalSequenceエラーが発生します。

ありがとうございました。

+1

あなたはどちらのルビーバージョンを使用していますか? Ruby 1.9には、エンコーディング処理が含まれています。 Big5に変換するには 'String#encode( 'Big5')'を使うことができます。私はそれをテストすることはできません - 私はtestprogrammを実行するとき、私はわずかな正方形を得る:((中国語のフォントは、私のPC上にないと思われる) – knut

+0

私はそれを試して、それは残念ながら動作しません – alste

答えて

0

あなたは學を学に変換しようとしていますか?私は間違っているかもしれませんが、私はIconvがそのタイプの変換を実行するとは思わない。

+0

はい、それは私がしようとしているこれは単純なBig5からGBへの変換ではないのですか?iconvでそれができない場合は、Rubyでどうすればいいのでしょうか? – alste

+0

さらなる研究では、Iconvのように見えます。 –

+1

どのように考えていますか?@text = "大家一起學中文" @c = Iconv.conv( 'gb2312'、 'utf-8'、@text) @c = Iconv.conv( 'big5' 、 'gb2312'、@c) @c = Iconv.conv( 'utf-8'、 'big5'、@c) 'は動作しません(別の文字列を返します) – alste

4

https://rubygems.org/gems/tradsim

私はちょうどそれが

が得られます宝石

# encoding: UTF-8 
require 'tradsim' 
puts Tradsim::to_sim("大家一起學中文") 

を使用するには宝石

gem install tradsim 

をインストールするには宝石

を書きました

となり、逆の処理を行うにはTradsim::to_tradを使用できます。

+0

ur宝石が私のテストで不正確です – c2h2

+0

プログラミングエラーまたは翻訳テーブルの不完全さのために私が知るように私に例を教えてもらえますか?変換テーブルは不完全です。たとえば、後者の場合、私はそれが伝統的な中国語(皇后)か簡体字中国語(後継)かどうかは実際には分かりません。私は誰かが中国語では同じだが、中国語では違う文字を扱う良い方法を提案できることを願っています。 – erinata

+0

これはruby 1.8で動作しますか? – ohho

関連する問題