PHP mb_convert_kana関数が動作しない時の対処方法

サーバーの環境によってmb_convert_kanaが正しく動作しない場合がありました。

mb_convert_kana関数

http://php.net/manual/ja/function.mb-convert-kana.php

string mb_convert_kana ( string $str [, string $option = "KV" [, string $encoding = mb_internal_encoding() ]] )
文字列 str に関して「半角」-「全角」変換を行います。 この関数は、日本語のみで使用可能です。

パラメータ
 str
  変換される文字列。

 option
  変換オプション。
   以下のオプションを組み合わせて指定します。
    省略します・・・

 encoding
  encoding パラメータには文字エンコーディングを指定します。省略した場合は、 内部文字エンコーディングを使用します。

注意点


受け取った"name_kana"の値を全角カタカナに変換するため、以下のコードを書きました。
mb_convert_kana($_REQUEST["name_kana"], 'KVCs');

テスト環境では第3引数なしで動作しましたが、別の環境に入れると動きませんでした。
もしやと思い、第3引数に値をセットした所、
mb_convert_kana($_REQUEST["name_kana"], 'KVCs', "EUC-JP");
期待通りに動作しました。
面倒でも第3引数を意識して使いたいと思います。

コメント

人気の投稿