[PHP] mb_strimwidth関数で文字化けする時の対処法

自由が丘で働くWeb屋のブログ

[PHP] mb_strimwidth関数で文字化けする時の対処法

[PHP] mb_strimwidth関数で文字化けする時の対処法

指定した幅で文字列を丸める事ができるPHP関数『mb_strimwidth()』ですが、サーバー環境やソースの文字コードなどによっては文字化けを起こしてしまう場合があります。
対処方法は以下から。

mb_strimwidth関数の使い方と文字化け

$hoge = "Hello World";
echo mb_strimwidth($hoge, 0, 10, "...");
// Hello W... と出力

$moge = "こんにちはこんにちは";
echo mb_strimwidth($moge, 0, 10, "...");
// こん�... と出力されてしまう(文字化け)

mb_strimwidth関数で文字化けする時の対処法

mb_strimwidth関数はオプションで文字エンコーディングを指定出来ますが、省略した場合は内部文字エンコーディングが使用されます。
よって、ソースの文字コードとサーバーの内部文字エンコーディングが異なる場合など、文字化けが起きてしまいます。
対処方法は以下の様に記述します。

$hoge = "Hello World";
echo mb_strimwidth($hoge, 0, 10, "...", "UTF-8");
// Hello W... と出力

$moge = "こんにちはこんにちは";
echo mb_strimwidth($moge, 0, 10, "...", "UTF-8");
// こんに... と出力
 
カテゴリー:Webシステム開発
タグ:
2013年4月2日 13時12分
 

関連記事

 

コメントを書く

(C) 自由が丘で働くWeb屋のブログ