今時のガラケーは全部Unicodeくらい対応してんだろーなーなんて思ってたのですが、、

全部Shift_JISだそうで

携帯の文字コードと絵文字の基礎知識

なおメールの絵文字に関しては、Apple,Googleでオープンソースプロジェクトemoji4unicodeUnicodeですすめられているらしいです

で、本題

コンテンツをいじる事無くApache単体でShift_JISの文字コードを返すには?

(しかもガラケーのみ)

[code]
SetEnvIf User-Agent "DoCoMo" garakeeeee
SetEnvIf User-Agent "Vodafone" garakeeeee
SetEnvIf User-Agent "SoftBank" garakeeeee
SetEnvIf User-Agent "UP.Browser" garakeeeee
SetEnvIf User-Agent "WILLCOM" garakeeeee
SetEnvIf User-Agent "FOMA" garakeeeee
SetEnvIf User-Agent "KDDI" garakeeeee

ExtFilterDefine metareplace mode=output intype=text/html enableenv=garakeeeee \
cmd="/bin/sed s/UTF-8/Shift_JIS/g"

ExtFilterDefine bodyreplace mode=output intype=text/html enableenv=garakeeeee \
cmd="/usr/bin/nkf -s"

<Location />
SetOutputFilter metareplace;bodyreplace
</Location>
[/code]

とりあえずこれでイケるはず

なお、静的ページの場合は大体これでイケますが、動的なページの場合

Content-Typeヘッダーの書き換えが必要になるかと思われます。

また動的コンテンツの場合不正なマルチバイト文字列を使ったセキュリティホールが生まれる可能性があるので十分注意してください。

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください