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">Re: utf-8 인코딩 - HTML을 읽을 수 없습니다.</LINGO-SUB><LINGO-BODY id="lingo-body-707056" slang="en-US" mode="NONE"><P>흥미로운. Amazon이 데이터를 압축하고 있습니다. 문제를 해결하는 두 가지 방법; 새로운 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 );
Re: utf-8 인코딩 - HTML을 읽을 수 없습니다.전문가님 감사합니다!

Re: utf-8 인코딩 - HTML을 읽을 수 없습니다.1행에서는 HTTP 요청 객체를 생성하여 요청 변수에 넣습니다. Amazon URL은 객체의 데이터에 있지만 아직 통신이 발생하지 않았으므로 요청 객체는 무슨 일이 일어날지 알 수 없습니다.
2행은 Amazon에 GET 요청을 보냅니다. Amazon의 답변 중 페이로드 부분이 fetch 변수에 복사됩니다. 데이터가 적절한 유니코드가 아닌 이진 데이터였기 때문에 Blob이 저장되었다는 메모가 로그에 표시됩니다. Amazon의 다른 메타데이터도 있습니다. Amazon이 반환하는 헤더는 HTTP 요청 객체에 보관됩니다.
3행은 저장된 헤더, 특히 콘텐츠 인코딩 헤더의 값을 인쇄합니다. 연관 배열에 콘텐츠 인코딩 헤더가 있는지 테스트하고 페이로드 압축 해제를 선택하기 전에 해당 값이 "gzip"인지 테스트하려면 더 많은 if(...) 논리가 필요합니다.
4행은 페이로드에 대해 gzip으로 압축된 blob을 보유하는 가져오기에 따라 달라집니다. 그런 다음 문자로 변환할 수 있는 유효한 UTF-8인 압축이 풀린 이진 데이터에 따라 달라집니다.
5행은 모든 페이로드 데이터를 인쇄합니다. 내용이 너무 많아서 명시적으로 작성(...)하지 않으면 JMP가 로그에서 해당 내용을 잘라냅니다.
Re: utf-8 인코딩 - HTML을 읽을 수 없습니다.지원팀에 쪽지를 보냈습니다. 제 생각에는 JMP가 더 나은 메시지를 사용하거나 압축을 감지하고 추가 단계를 수행하여 이 문제를 처리했어야 한다고 생각합니다. 아마도 약간 문제가 있을 수 있지만 gzip으로 압축된 텍스트 이외의 다른 내용이 나타날 때까지는 작동할 것입니다. 아마도 99%일 것입니다.