スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

“テスト”は9文字?

文字の長さをカウントする「strlen」などの関数を使ったときに、“従来”の1.5倍の文字数をカウントされて「?」となったことはないですか?
ノンプログラマには意外と知られていませんが、これは文字コードの関係です。
“従来”というのは、「半角は1バイト、全角は2バイト」ということです。
こういう認識が、なかなか染み付いています。

ところが、最近標準的に使われる文字コード「UTF-8」は、日本語の表現に3バイト使用します。
Shift_JISなどでは2バイトだったものが、3バイトになるので、半角用の関数を使用すると、文字の長さなどが1.5倍に増えてしまいます。

また、データベースのカラムのデータ型で、「char(64)」など、文字数指定のある型を使用していると、データベースの文字コードによって切り捨てられる長さが変わってしまいますので要注意です。
スポンサーサイト

コメントの投稿

非公開コメント

ケータイはこちら

QRコード

FC2カウンター

検索フォーム

最新記事
カテゴリー
リンク
RSSフィード
プロフィール

鎌田 翔己(SK)

Author:鎌田 翔己(SK)
岡山のウェブデザイナー/アーキテクト/コンポーザーです。
トップレベルのHTML/XHTMLコーディングや、PHP、Flashなどの業務に携わっています。

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。