現在開発中のWebサイトはCakePHPで開発しています。今回は、PCと携帯電話の両方をサポートしています。どちらもコントローラーとアクションは共通でビューだけが異なります。携帯かどうかの判定をして、携帯電話であったらm_*.ctpという名前のビューを取り込むようにしています。
携帯電話の場合の文字コードは、基本的にシフトJISになります。通常はPHP、HTML、DBはUTF-8にしていますので、表示するときに強制的にシフトJISに文字コードを変換して、英数字カタカナを1バイト文字に変換してしまいます。この辺りはレイアウトに処理を書いておけばCakePHPだと簡単です。
ここから本題です。失敗したこと。
携帯電話の画面で矢印の代わりに<と>を使っていました。<>は2バイトコードです。例えば
<前へ 後ろへ>
のようにリンクを設定します。
しかし、お察しのとおり携帯電話のブラウザだとおかしなコードが表示されてしまいます。つまり<>がHTMLタグの始まりと終わりになって認識されてしまいます。
解決方法は簡単です。面倒がらずにHTMLの特殊文字でまじめに指定することです。<は<>は>です。これで正しく表示できます。
やはり基本は大事です。
SBクリエイティブ
¥2,287 (2025/03/25 15:17時点 | Amazon調べ)

著:谷 拓樹
¥1,881 (2025/03/25 15:17時点 | Amazon調べ)
