- 2007/04/11
- PHP
長い文字列を適当な長さに揃えて出力したいときに、2バイト文字と1バイト文字が入り混じっていると、中途半端に文字がカットされ、文字化けしてしまうのを防ぐ方法。
//文字コード設定
mb_language("Japanese");
mb_internal_encoding("EUC");
$str = 'あいうえおAbcdかきくEfghけこさしすせそ';
//最初から10文字を切り抜く
$str = mb_substr($str,"0","10");
mb_substr() だけだと文字コードをきちんと認識せず語尾が文字化けしてしまったので、mb_language() と mb_internal_encoding() を使ってきちんと設定すると綺麗に切り抜ける。
- Newer: document.getElementById ではまった
- Older: 日本でのInternetExplorer7の自動更新時期