Siena. です。

▼ [ruby-list:35277] < 須藤功平 さん

》Seanさんは変換アルゴリズムさえ教えてくれればあとは、こっちで修正するから、あまり他の人には修正して欲しくない、ということです。

そうですか。

変換そのものは変換ライブラリ Iconv, Uconv, NKF などに
任せるべきですし、XML での文字エンコーディングの判別方法
とかは下手に説明するよりも XML 1.0 (second edition) の 
    4.3.3 Character Encoding in Entities
    Appendix.F Autodetection of Character Encodings
辺りを中心に精読してもらう方が確実と思います。
いや、きっと目を通しているだろうとは思うのですけれど、
それ以外に何を求められているのか分からないので。
これに関してはお力になれそうにないです ;_;

あとは、すぐにできそうなのは Iconv (と Uconv, NKF) をラップした
文字エンコーディング変換ライブラリを検討するくらいでしょうか。

ICU <http://oss.software.ibm.com/icu/> も候補になる
かもしれませんけれど、Ruby 標準添付でないですし、
ライセンスの問題もよく分かりません ^^;
# にしても巨大だ...

---
Siena. <mailto:siena / cr.chiba-u.ac.jp>