こんにちは、バズー株式会社、開発チームリーダーの清水です。
携帯サイトでは通常、文字コードに「SHIFT-JIS」を使います(最近の携帯では UTF-8 も使えますが、古い機種にも対応するなら SHIFT-JIS のほうが無難です)。
データベースを UTF-8 で構築している場合、UTF-8 ←→ SHIFT-JIS の相互変換を行う必要がありますが、PHP の mb_convert_encoding 関数のそのまま使うと以下の文字が文字化けします。
・∥
・- (マイナス)
・~
・¢
・£
・¬
文字化けとオサラバするためには、以下のようにします。
// ↓文字化けする $text = mb_convert_encoding($text, 'UTF-8', 'SJIS'); // ↓こっちは大丈夫 $text = mb_convert_encoding($text, 'UTF-8', 'sjis-win');
ポイントは「sjis-win」を使うことです。ちなみに「〜」(U+301C) など UTF-8 にしか存在しない文字は、どうやっても SJIS には変換できないので注意が必要です。




















コメントする