« Macブラウザ(Safari/Mac版IE/Firefox/Opera)バグ情報など | トップページ | Mac版Operaと半角円マーク »

2006/10/04

Macブラウザと半角円マーク/半角バックスラッシュ(Shift_JIS編)

Shift_JISでエンコードされたホームページ上で、Macブラウザ各種で半角円マーク及び、半角バックスラッシュ(「optionキー」+「半角円マーク」が刻印されたキーの入力で入力される文字)が、JavaScriptのcharCodeAt()では何番のcharcdoeを返すのか、また、POSTあるいはGETされた時にどのようにURLエンコードされるかをまとめたものです。

OSの内部処理的にMacが半角円マークと半角バックスラッシュを区別して考えていることは、それはそれで優れた仕様かもしれませんが、Windowsとの互換性を考えるならば、URLエンコード時には、「%5C」としてエンコードしなければ確実にトラブルの元になります。「%5C」以外にURLエンコードするものについては、背景色をグレーにして分かりやすくしました。

半角円マークを入力したときに問題が起こるのか、半角バックスラッシュ入力時に問題が発生するのかはブラウザによって異なることが、この一覧表で読もとっていただけると思います。

なお、この一覧はあくまでもShift_JISのページでのテスト結果であって、EUC-JPのページでは、また別の問題が発生します。

また、Opera(及び、Netscape 7.02)の半角円マークのエンコード方法の問題(URLエンコード時に%「%26%23165%3B」にエンコードしてしまうため、これをデコードすると「¥」になる問題)については後日、あらためて、記事にまとめるつもりです。
2006年10月4日午後20時39分追記    「Mac版Operaと半角円マーク」を公開しました。


【PR】 楽しいゲームがやれて、賞品までもらえちゃう! GOGOゲーム


OSブラウザ名 (JavaScriptで取得したcharcode。92であれば、16進数で0x5Cを意味します。)GET/POSTで送信時のURLエンコード
WindowsIE6/Firefox/Opera半角円マーク・・・92 %5C
 Windowsでは半角円マークと半角バックスラッシュの意味合いは同じであり、ただフォントによって見た目が変わります。ブラウザによる処理の違いもありません。
Mac IE 5.2.3(Tiger/Panther)半角円マーク・・・92
(半角円マークのcharcodeが92になるのはMac版IEの特徴。)
%5C
半角バックスラッシュ・・・65415。半角のヌが表示されます。バックスラッシュを入力できません。論外。 %C7
これをデコードしますと、半角の「ヌ」になります。論外。
IE5.1.7/5.0(OS 9.2.2)
半角円マーク・・・92%5C
半角バックスラッシュ・・・92
(見た目も半角円マークと区別がつきません。というか一緒。)
Safari 2.0.4(Tiger)半角円マーク・・・165%5C
半角バックスラッシュ・・・92%82_(全角バックスラッシュ)

この問題についての詳細は、「Safariと半角円マーク(Shift_JIS編)」をご参照ください。
Safari 1.3.2(Panther)半角円マーク・・・165%5C
半角バックスラッシュ・・・92%82_(全角バックスラッシュ)
Firefox 1.5.0.7
Camino 1.0.3
SeaMonkey 1.0.5
半角円マーク・・・165%5C
半角バックスラッシュ・・・92
Netscape 7.1(Tiger/Panther)

ビルド日:20030624
半角円マーク・・・165%5C
半角バックスラッシュ・・・92
(ただし、見た目は半角円マークと区別が付きません。)
Netscape 7.02(Tiger/Panther)
(下記のOpera 9.02と全く同じ仕様。
ビルド日:20030208)
半角円マーク・・・165 %26%23165%3B
これをデコードしますと、「¥」=「¥」になります。よくみると半角円マーク「\」とは異なることが、Windowsでは分かります。
半角バックスラッシュ・・・92
(ただし、見た目は半角円マークと区別が付きません。)
%5C
Netscape 7.02(OS 9.2.2)

(ビルド日:20030208)
半角円マーク・・・165%26%23165%3B
これをデコードしますと、「¥」=「¥」になります。よくみると半角円マーク「\」とは異なることが、Windowsでは分かります。
半角バックスラッシュ・・・165
(ただし、見た目も半角円マークと区別が付きません。多分一緒。)
Opera 9.02半角円マーク・・・165%26%23165%3B
これをデコードしますと、「¥」=「¥」になります。よくみると半角円マーク「\」とは異なることが、Windowsでは分かります。

参照: 「Mac版Operaと半角円マーク
半角バックスラッシュ・・・92%5C
iCab 3.03半角円マーク・・・165%3F
これをデコードしますと、「?」になります。処理できずに「?」でごまかしています。ある意味、原則通りの処理ですが、これでは当然困ります。
半角バックスラッシュ・・・92%5C


|

« Macブラウザ(Safari/Mac版IE/Firefox/Opera)バグ情報など | トップページ | Mac版Operaと半角円マーク »

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/67411/12144045

この記事へのトラックバック一覧です: Macブラウザと半角円マーク/半角バックスラッシュ(Shift_JIS編):

« Macブラウザ(Safari/Mac版IE/Firefox/Opera)バグ情報など | トップページ | Mac版Operaと半角円マーク »