Unity5(C#)初心者・入門者向けチュートリアル ひよこのたまご

AndroidやiOS向けアプリを簡単に作れるゲーム開発環境Unity(ユニティ)の使い方を、チュートリアル方式で一緒に学びましょう!

【PHP】mb_strlenの表示結果がおかしい時の対処方法

いつもひよこのたまごをご利用下さいましてありがとうございます!
おかげ様でチュートリアル数も10ゲーム目となりました!
チュートリアル一覧は
こちら からどうぞ!


スポンサーリンク

PHP 5.3.3

仕事でPHPを使うことになり、急遽勉強することになりましたのでブログにも残していこうと思います〜
UnityでもPHPは定番なので、うまく連携できたら嬉しいです〜

mb_strlenの表示結果がおかしい時の対処方法

①mb_strlenとは

mb_strlenは日本語の文字列の文字数を取得する組込関数です〜

②mb_strlenの例

<?php
	$name = "ひよこ";
	echo mb_strlen($name);
?>

$: 変数
echo: 文字列の表示


この場合3文字なので、3という数値が表示されるはずです〜が、9と表示されてしまいました〜

③対処法1

vagrant等のリモート環境
まずはphp-mbstringというパッケージをインストール
$ sudo yum install php-mbstring


$ php -i | grep php.ini
でphp.iniの場所を探す

$ sudo vi /etc/php.ini
でphp.iniを編集

;mbstring.internal_encoding =
を、マルチバイトに対応した
;mbstring.internal_encoding = UTF-8
に修正

ローカル環境
ローカル環境でも同様に、php.iniのmbstring.internal_encodingにUTF-8を指定


それでも直らない

④対処法2

<?php
	$name = "ひよこ";
	echo mb_strlen($name, "UTF-8");
?>

mb_strlenの第2引数に文字コードを指定


ようやく直る

結果

本来ならphp.iniの編集だけでうまく直したかったのですが、うまくいきませんでした〜
とりあえず対処法2で凌いでいこうと思います〜