PHP mb_convert_kana

文字コードを指定しないと誤変換することがある
$b = mb_convert_kana($a, “as”, “UTF-8”);
http://d.hatena.ne.jp/maru_cc/20080212/1202813263
※全角‐(ハイフン全角)は半角にコンバートされなかった
これは半角のハイフンがあるがコンバートされなかった
全角―(全角ダッシュ)も同上(半角がないのでOK)
全角ー(全角長音)も同上(半角のみなのでOK)
mb_convert_kana() の 仕様
そこで、仕様を確認。
「半角」英数字を「全角」に変換します (”a”, “A” オプションに含まれる文字は、 U+0022, U+0027, U+005C, U+007Eを除く U+0021 – U+007E の範囲です)。
次の記号と英数字が変換できます。
!#$%&()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}
仕様のとおりで
” ’ ¥ ~は半角になりません。
“‘\~ は全角になりません。
mb_convert_kanaについて
よく使うのはanrcH
a 全角英数字を半角英数字に変換する
A 半角英数字を全角英数字に変換する
c 全角カタカナを全角ひらがなに変換する
C 全角ひらがなを全角カタカナに変換する
k 全角カタカナを半角カタカナに変換する
K 半角カタカナを全角カタカナに変換する
h 全角ひらがなを半角カタカナに変換する
H 半角カタカナを全角ひらがなに変換する
n 全角数字を半角数字に変換する
N 半角数字を全角数字に変換する
r 全角英文字を半角英文字に変換する
R 半角英文字を全角英文字に変換する
n 全角数字を半角数字に変換する
N 半角数字を全角数字に変換する
s 全角スペースを半角スペースに変換する (U+3000 → U+0020)
S 半角スペースを全角スペースに変換する (U+0020 → U+3000)
V 濁点つきの文字を1文字に変換する (K、H と共に利用する)