2009年10月19日

Shift-JISでPHPをコーディングするとパースエラーになる

Filed under: PHP — admin @ 3:11 AM

以下のように記述するとパースエラーとなる。

<?php
define('CONSTANT', '機能');
?>

■原因

2バイト目に5C16を含む文字が使用されているため。

■詳細

「能」はダメ文字と呼ばれ2バイト目に5C16を含む。つまり「能」の後に続くシングルクォーテーションがエスケープされて、文字列を正しく括れない。

■対策

以下のように\を記述するとパースエラーを防ぐ事ができる。

<?php
define('CONSTANT', '機能\');
?>

個人的にはShift-JISを使わないことを勧める。

コメントはまだありません »

コメントはまだありません。

この投稿へのコメントの RSS フィード。 TrackBack URL

コメントする