RubyでUTF-8文字列の全角英数字の表記揺れを統一したいとき、 気をつけないと希に文字化けする事象を見つけたのでメモします。 NKFを用いて全角英数字→半角英数字に変換する方法 ググるとよく出てくる方法は次の通りです。 もちろん、問題なく普通に動きます。 $ pry [1] pry(main)> require 'nkf' => true [2] pry(main)> NKF.nkf('-m0Z1 -w', "Ruby−2.2") => "Ruby-2.2" ここでWindowsの機種依存文字が混じるとどうなるでしょうか。 pry(main)> NKF.nkf('-m0Z1 -w', "ルビー Ⅱ") => "ルビー Ⅱ" pry(main)> NKF.nkf('-m0Z1 -w', "ルⅡ") => "繝ォ竇。" pry(main)> NKF.nkf('-m0Z1 -w', "Rub
![Rubyで全角英数字を半角英数字にnkfで変換する時の落とし穴 - Y-Ken Studio](https://cdn-ak-scissors.b.st-hatena.com/image/square/63b2323555c79c502d59ca9d577d9e0b9025d9e2/height=288;version=1;width=512/http%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fy%2Fyoshi-ken%2F20150605%2F20150605122403.png)