*

UTF-8の全角文字が3バイトになる件

公開日: : 600.プログラミング, 610.PHP

全角30文字(半角で60文字まで)といった文字数制限のチェックをPHPで入れる時に
strlen関数を使いたくなります。
でも、UTF-8の文字コード環境化においては

strlen(“あいうえお”);

で実行すると、取得できるバイト数は3文字になり、15バイトとして扱われます。
どうも、URF-8では、「全角文字は3バイトとは限らない」らしいです。

どうするかを考えた結果、処理は遅くなりますが、
そんなに多くの人が同時に使うシステムではないので
「別の文字コードに変換してstrlen関数を使う」で決着

strlen(mb_convert_encoding(“あいうえお”,’SJIS’, ‘UTF-8′));

今回はこの作戦で進めようと思います。

関連記事

記事はありませんでした

googledriveicons
【Googleスプレッドシート】URLを知っている人だけが自由に編集できるようにする設定

Googleスプレッドシートはオンラインで利用できるExcelのような

2014050802chatwork
【チャットワーク】相手へのチャットを気づかせる方法

チャットワークでグループチャットを使っていると、 タスク管理とチャッ

2014021201
UTF-8の全角文字が3バイトになる件

全角30文字(半角で60文字まで)といった文字数制限のチェックをPHP

2014020901
経営者・事業者に知りたい情報を集約させます。

「無無明」筆者のよしひろです。 これまで、10000件以上のIT

→もっと見る

PAGE TOP ↑