Microsoft Edge Ver.83の小さな進歩(続)

Microsoft Edge Ver.83の今までと少し変わった点があるようである。いつものように単なるバグ修正であるが。

かつて次のようなことを書いたことがある(u8_0013)。
以下のようなことは当然であると今まで思ってきた(基本命題)。


  1. Shift_JISのコンテンツ内から送出されるデータはShift_JISである。
  2. UTF-8のコンテンツ内から送出されるデータはUTF-8である。
  3. EUC_JPのコンテンツ内から送出されるデータはEUC_JPである。

Microfot IE, Microsoft Edge, Google Chrome について、この基本命題の検討である。詳細はUTF-8エリア参照。

この基本命題に忠実なのがGoogle Chromeである。3つの中ではGoogle Chromeだけが正常に動作することになる。
EdgeIEは、この基本命題に従った仕様になっていない。それで文字化けして誤動作し検索できない状態になるわけである(バグソフトによく悩まされたことよ)。

検索スクリプトとの関係でいえばGoogle Chromeは上の基本命題通りの動作をする。Microsoft Edge / IEはともに欠陥(バグ)があって使い物にならない。


Edge, IE は基本命題に従ったブラウザではない。誤動作は避けられない。

これは以前のEdgeについてのものである。今のEdge Ver.83ではどうなっているか。


LOCALSJISファイルでの実行

以下の例はShift_JISのファイルであるtpc_0060.htmlの中にある「エクセルバカネタ」のリンク(GET方式)をクリックしたものである。

219.167.101.102 - - [11/Jul/2020:00:44:58 +0900] "GET /res/eseek.php?fd=tpc&wd=%83G%83N%83Z%83%8B%83o%83J HTTP/1.1" 200 36692 "https://www.mermaid-tavern.com/pluto/tpc/tp1/tpc_0060.html" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36 Edg/83.0.478.61"
Shift_JISのURLエンコードである。
219.167.101.102 - - [11/Jul/2020:00:45:04 +0900] "GET /res/img/kw.gif HTTP/1.1" 200 129 "https://www.mermaid-tavern.com/res/eseek.php?fd=tpc&wd=%83G%83N%83Z%83%8B%83o%83J" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36 Edg/83.0.478.61"
219.167.101.102 - - [11/Jul/2020:00:45:04 +0900] "GET /res/img/hr.gif HTTP/1.1" 200 49 "https://www.mermaid-tavern.com/res/eseek.php?fd=tpc&wd=%83G%83N%83Z%83%8B%83o%83J" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36 Edg/83.0.478.61"
これと同じパータンがいくつもあることはアクセスログから確認できる。これをその代表例として使っただけである(特殊なものではない)。

さて、以前はEdgeWEBLOCALでは動作に差があった。
今のEdge Ver.83ではどうか。これをローカルで確認してみよう。






123.456.78.90 - - [11/Jul/2020:08:45:23 +0900] "GET /res/eseek.php?fd=tpc&wd=%83G%83N%83Z%83%8B%83o%83J HTTP/1.1" 200 36692 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36 Edg/83.0.478.61"
今ではローカルから実行してもShift_JISのキーワードが渡されている。
以前のEdgeではこの場合はUTF-8のキーワードが渡されていた(これは異常な仕様である)のである。

Edge Ver.18の場合はこうだった(u8_0014_sjis)



Shift_JISファイル内からWEB上の検索スクリプトを実行する場合。
(1)WEB、ローカルともにキーワードはShift_JISURLエンコードで渡される。
(2)以前はローカルではUTF-8URLエンコードで渡されていた(異常な仕様)。

これは単に「基本命題」にしたがった普通の動作をする状態になっただけのことである。「進歩」というよりバグ修正である。


LOCALUTF-8ファイルでの実行

これは「UTF-8ファイル内からのWEB/PHP検索(No.0005)」をEdge Ver.83で実行しただけのものである。昔でも正常だったから、たぶん今でも正常だろうと思う。

UTF-8のファイル内からUTF-8のファイルを検索する(GET方式)。
<a href="https://www.mermaid-tavern.com/res/eseek.php?fd=ut8&wd=篠崎愛">篠崎愛</a>
<a href="https://www.mermaid-tavern.com/res/eseek.php?fd=ut8&wd=間接">間接</a>
<a href="https://www.mermaid-tavern.com/res/eseek.php?fd=ut8&wd=進数">進数</a>

UTF-8のファイル内からShift_JISのファイルを検索する(GET方式)。
<a href="https://www.mermaid-tavern.com/res/eseek.php?fd=poe&wd=伊勢">伊勢</a>

引数にナマの日本語を使っても、UTF-8 URLエンコードされて渡されているようである。
この後、PHP内部ではこの引数のUTF-8EUC-JPに変換し、また対象ファイルのUTF-8/SJISEUC-JPに変換し、両者を比較・検索することになる。

12.345.678.90 - - [12/Jul/2020:00:18:39 +0900] "GET /res/eseek.php?fd=ut8&wd=%E7%AF%A0%E5%B4%8E%E6%84%9B HTTP/1.1" 200 1312 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36 Edg/83.0.478.61"
「篠崎愛」というナマの日本語を渡している。
12.345.678.90 - - [12/Jul/2020:00:18:54 +0900] "GET /res/eseek.php?fd=ut8&wd=%E9%96%93%E6%8E%A5 HTTP/1.1" 200 1990 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36 Edg/83.0.478.61"
「間接」というナマの日本語を渡している。
12.345.678.90 - - [12/Jul/2020:00:19:03 +0900] "GET /res/eseek.php?fd=ut8&wd=%E9%80%B2%E6%95%B0 HTTP/1.1" 200 1172 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36 Edg/83.0.478.61"
「進数」というナマの日本語を渡している。
12.345.678.90 - - [12/Jul/2020:00:19:19 +0900] "GET /res/eseek.php?fd=poe&wd=%E4%BC%8A%E5%8B%A2 HTTP/1.1" 200 2493 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36 Edg/83.0.478.61"
「伊勢」というナマの日本語を渡している。

POST方式ではパラメーターは表示されないが、正常に検索されている。

12.345.678.90 - - [12/Jul/2020:00:19:32 +0900] "POST /res/efind.php HTTP/1.1" 200 1312 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36 Edg/83.0.478.61"
12.345.678.90 - - [12/Jul/2020:00:19:42 +0900] "POST /res/efind.php HTTP/1.1" 200 1995 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36 Edg/83.0.478.61"
12.345.678.90 - - [12/Jul/2020:00:19:52 +0900] "POST /res/efind.php HTTP/1.1" 200 1172 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36 Edg/83.0.478.61"
- 2020/07/12 -




- Copyright(C) Mermaid Tavern