rubyのNKFで「澤」が文字化け
NKFで入力文字コードが未指定だと文字化けする例。(euc→sjisの変換)
#!/usr/bin/ruby require 'nkf' # 文字コードの設定 $KCODE = "u" s = NKF.nkf('-s',"長澤") se = NKF.nkf('-sE',"長澤") puts("-s:") puts(NKF.nkf('-eS',s)) puts("") puts("-sE:") puts(NKF.nkf('-eS',se))
s = NKF.nkf('-s',"長澤")は文字化けしますが、
se = NKF.nkf('-sE',"長澤")だと文字化けしません。
NKFのオプションは基本的に、「-s」と出力コードのみを指定してやるとOKなのだが、まれに「-sE」と出力入力コードを指定してやらないと文字化けするものがあります。上記「澤」など。
NKFを使う際は、入力コードも必ず指定するようにしましょう。
1票ポチッと押して下さい♪このブログのランキングが少し上がります。