• ベストアンサー

utf8での『ー』と『~』の扱いについて

初心者なのでよろしくお願いします。 過去に下記のサイトで話題に上がっているのですが理解できませんで したので、どなたかお助け願います。 http://okwave.jp/kotaeru.php3?q=1739893 Utf8の内容をJis変換してメールに送ろうとしていますが、変換を 行うと上記サイトのように、文字化けが発生します。 なんとか解決したいのですが、上記サイトが理解できませんでした。 参考サイトでも構いませんので、どなたかお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

要は Shift_JIS (cp932) で「~」のコードが Unicodeでは、301C に割り当てられていて、 Unicodeで「~」のコードは FF5E になっているということです (「ー」については大丈夫だったと思います、他の記号なのでは) 例えば、 use encoding "UTF-8"; #ソースがUTF-8で記述されている use Encode; $text = "~ー"; #UTF-8 $text =~ s/\x{FF5E}/\x{301C}/g; $text=Encode::encode("JIS", $text); #内部コードをJIS に変換 print "$text\n"; #JIS並び

papope
質問者

お礼

回答ありがとうございます。 結果から先に言いますと、Unicode::Japaneseで解決しました。 でも他の解決策を知りたかったので助かりました。 ありがとうございます。 全角ハイフンはー(長音)ではないく-(マイナス?)だと化けて いました。 本当にありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A