big5 をSJISに変換するには?


sakoi  2011-10-16 22:12:56  No: 41030

おせわになります。
現在D7でBIG5の文字コードをSJISに変換する方法を探しているのですが
どなたかコンポーネントや変換方法をご存じの方おりましたら
ご指導いただけませんでしょうか


DEKO  2011-10-17 05:11:31  No: 41031

コードページ 950 (Big5) からコードページ 932 (Shift_JIS) に変換すればいいです。
変換方法については以下をどうぞ。

[日本語用に使えるコードページは?]
http://ht-deko.minim.ne.jp/tech041.html#tech081

...ただし。Big5 は Shift_JIS よりも大きな文字集合なので、
Shift_JIS 変換すると失われてしまう文字があります。
(変換しても表示できない文字があるという事です)

Big5 を扱うのであれば Unicode への変換でないと、厳しいかもしれません。


sakoi  2011-10-17 06:00:02  No: 41032

DEKO様だ(>_<)

初心者満点の頃、よくホームページ拝見させて頂いておりました。
読み物ページがとても楽しいです。

ご指導ありがとうございます。

コードページというのは初めてきいたのですがXEだとTEncodingでコードを
指定して何かやったような気がしますがD7だとTEncodingが無いので・・・

> Shift_JIS 変換すると失われてしまう文字があります。
>Big5 を扱うのであれば Unicode への変換でないと、厳しいかもしれません。

いまいちUnicodeとUTF-8が理解出来ていないのですが
BIG5を変換してUTF-8にしてからUTF8DecodeでSJISに戻すと欠けるの
防げたりするのかな?と思っております。

な感じで、何か他の案があるとたすかります。


DEKO  2011-10-17 07:44:09  No: 41033

> コードページというのは初めてきいたのですがXEだとTEncodingでコードを
> 指定して何かやったような気がしますがD7だとTEncodingが無いので・・・
いえいえ、D7 でもできますよ。
ちょっとリンク先の情報だけではダメでしたね。

[MECSUtils.ConvertString]
http://ht-deko.minim.ne.jp/tech021.html#ConvertString

これで、Big5 -> Shift_JIS 変換が可能です。

> BIG5を変換してUTF-8にしてからUTF8DecodeでSJISに戻すと欠けるの
> 防げたりするのかな?と思っております。
確か、Big5 -> Unicode (UTF-8 含む) はロスレスですが、
Unicode -> Shift_JIS の時点でやっぱり欠けてしまいます。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加