utf-8編碼 - 無法讀取html
親愛的社區成員,
我試圖透過以下方式打開 amazon.co.uk 頁面,但沒有成功:
Names Default To Here( 1 );
webpage= Load Text File ("https://www.amazon.co.uk");
這是我在日誌中得到的內容:
JMP could not read all the text in 'www.amazon.co.uk' correctly.
The document might use a text encoding that JMP does not recognize; or JMP might have chosen the wrong encoding (utf-8). Text that JMP could not understand has been removed. The JMP character set preference is set to utf-8.
The location of the first read error is 4 and the byte at that location was 0. <BR /><BR />"��t������ ��`��L&��dv'�B^�V��f��<BR />�;�焎�3�=�wEG1E�����p��������!���m��X�f{����$�f���6=�ٓί�g!(j<BR />�ŨI*|T�M�[ٗ�\!"��HA��\��Y�$o������&����P����*K&�;\!"��C��G^b��� E�i J����f:{{�!7(G�A��U���z+�7�D�<�7U�Y<BR /><BR />......<BR />
如果我嘗試使用 amazon.com 執行相同的命令,一切都很好。
我已經檢查了該頁面的 html 程式碼,似乎大約有 7 次。所以我假設它是utf-8
meta charset="utf-8"
也嘗試更改首選項文字資料檔案>>開啟文字檔案字元集>>最佳猜測但它仍然不起作用
如有任何想法,將不勝感激。
</CODE></P>
<P> </P>
<P> </P>
<P> </P></LINGO-BODY><LINGO-LABS id="lingo-labs-707036" slang="en-US" mode="NONE"><LINGO-LABEL>資料存取</LINGO-LABEL><LINGO-LABEL>視窗</LINGO-LABEL></LINGO-LABS><LINGO-SUB id="lingo-sub-707056" slang="en-US" mode="NONE">回覆:utf-8編碼-無法讀取html</LINGO-SUB><LINGO-BODY id="lingo-body-707056" slang="en-US" mode="NONE"><P>有趣的。 亞馬遜正在壓縮資料。 有兩種修復方法;新的http請求方式可以讓你檢查它是否被壓縮:</P>
<PRE><CODE class=" language-jsl">webpage = Load Text File( "https://www.amazon.co.uk", blob() );
webpage = Blob To Char( Gzip Uncompress( webpage ) );
Write( webpage );
// the better way...
request = New HTTP Request( URL( "https://www.amazon.co.uk" ), Method( "GET" ) );
fetch = request << Send;
Show( (request << Get Response Headers)["content-encoding"] );// gzip
webpage = Blob To Char( Gzip Uncompress( fetch ) );
Write( webpage );
回覆:utf-8編碼-無法讀取html感謝專家!

回覆:utf-8編碼-無法讀取html第 1 行建立一個 HTTP Request 物件並將其放入 request 變數中。 亞馬遜 URL 位於物件的資料中,但尚未發生任何通信,因此請求物件不知道會發生什麼。
第2行向亞馬遜發送GET請求;來自亞馬遜的答案的有效負載部分被複製到 fetch 變數中。 您將在日誌中看到一條註釋,指出儲存了 blob,因為資料是二進位資料而不是正確的 Unicode。 亞馬遜還有其他元數據;亞馬遜傳回的標頭保存在 HTTP 請求物件中。
第 3 行列印儲存的標頭中的值,特別是內容編碼標頭。 這需要有更多的 if(...) 邏輯來測試關聯數組中是否存在內容編碼標頭,然後在選擇解壓縮有效負載之前測試其值是否為「gzip」。
第 4 行依賴 fetch 保存負載的 gzipped blob。 然後,它取決於解壓縮的二進位資料是否為可轉換為字元的有效 UTF-8。
第5行列印所有有效負載資料;有很多,如果您沒有明確 write(...) 它,JMP 會在日誌中截斷它。
回覆:utf-8編碼-無法讀取html我向支援團隊發送了一張便條。 我認為 JMP 應該已經處理了這個問題,要么提供更好的訊息,要么通過檢測壓縮並執行額外的步驟。 也許這有點問題,但是直到 gzip 壓縮文字以外的其他內容出現之前都可以工作... 99% 可能。