[PHP-users 3399] Re: 全角から半角への変換について

Osamu Shigematsu php-users@php.gr.jp
Thu, 08 Nov 2001 11:15:14 +0900


重松です。


> 携帯電話で表示するのに、
> 全角文字のうち特定の文字のみを半角にしたいのですが、
> PostgreSQLの内部コードがEUC-JPのためなのか文字化けが発生します。

ereg_replace はマルチバイト文字対応でないからです。
# 何のために国際版なのか考えれば、自明のことかともいます。;-P

i18n_ja_jp_hantozen
i18n_ja_jp_hantozen -- 文字列の半角文字を全角に変換する

説明
string i18n_ja_jp_hantozen(string text, string [option] , string [code] );


i18n_ja_jp_hantozen() は、 指定した文字列 text の半角文字を全角文字に変換し、
結果を文字列として返します。 2番目の引数としてオプション option を指定するこ
とに より変換の方法を指定可能です。option には、 以下のパラメータを組み合わ
せた文字列を指定します。 (デフォルトは "KV" です。)

* "r" : 英字を全角から半角に変換
* "R" : 英字を半角から全角に変換
* "n" : 数字を全角から半角に変換
* "N" : 数字を半角から全角に変換
* "a" : 英数字(21h - 7Eh)を全角から半角に変換
* "A" : 英数字(21h - 7Eh)を半角から全角に変換
* "k" : 全角カタカナを半角カナに変換
* "K" : 半角カナを全角カタカナに変換
* "h" : 全角ひらがなを半角カナに変換
* "H" : 半角カナを全角ひらがなに変換
* "c" : 全角カタカナを全角ひらがなに変換
* "C" : 全角ひらがなを全角カタカナに変換
* "V" : 濁音記号を貼り付けて一文字にする、"K"、"H"と組み合わせて使用
オプション code を指定しない場合、 現在の内部コードで記憶されているとして処
理を行います。

後、こんなものもあるようです。
http://www.kaynet.ecc.u-tokyo.ac.jp/~taka/doc/php/

Google で hatozen とか i18n_ja_jp_hantozen で検索すれば、それらしいのが山と
ヒットすると思います。

-- 
Osamu Shigematsu

http://www.ravi.ne.jp/%7eshige/
mailto:shige@ravi.ne.jp