2013-10-12 1 views
4

Google은 사용자가 HTML 웹 페이지 및 애셋을 s3에 업로드 할 수있는 브라우저 확장 프로그램을 제공합니다.이 확장 프로그램은 일반적으로 잘 작동합니다. 우리가 가진 한가지 문제점은 -, ', 등의 일부 문자가 웹 페이지에서 깨져 있다는 것입니다. 예를 들어 대시'- '가 브라우저 소스에 표시되고 그 방법으로 표시됩니다. 거기에 s3 html에 '-'로 표시됩니다. 이것은 스택 오버 플로우 (주석의 사용자 이름 앞에 대시) 질문을 포함하여 업로드하는 일부 웹 페이지에서만 발생합니다. s3 html 파일의 유일한 메타 데이터는 Content-type : text/html. 자동으로 문자 인코딩 유형을 수동으로 설정하면 일시적으로 문제가 해결되지만 영구적으로이 문제를 해결하고 도움을 얻을 수 없습니다.AWS s3 웹 사이트에서 일부 웹 페이지를 다운로드 할 때 특수 문자가 왜 왜곡됩니까?

답변

4

하이픈은 실제로 유니 코드 UTF- 8 em 또는 en 대시 및 따옴표 문자는 기본 ASCII 문자 대신 유니 코드 곡선 따옴표입니다. 예를 들어 StackOverflow 질문의 대시는 em 대시로 나타납니다.

브라우저에 추측하려고 시도하고 잘못 가져 오는 올바른 인코딩을 알려줘야합니다. 몇 가지 방법이 여기에 있습니다 :

  1. 당신이 파일이 text/html;charset=UTF-8 말을위한 S3 콘텐츠 형식의 메타 데이터 속성을 설정할 수 있습니다 파일을 업로드하고 있습니다. 이는 업로드하는 데 사용하는 소프트웨어에 따라 다릅니다. 이 속성은 AWS 콘솔에서도 설정할 수 있지만 많은 파일이 있으면 지루할 수 있습니다.

  2. here과 같이 문서 자체에 인코딩을 포함시킬 수 있습니다. 예를 들어 <meta charset="UTF-8">을 문서의 head에 추가 할 수 있으며 브라우저는이를 사용하여 인코딩을 결정해야합니다.

+0

감사합니다. text-html; charset = UTF = 8을 포함하도록 Content-type을 전달해야합니다. 그렇지 않으면 s3이 "text/html"로 설정합니다. – CleanTheRuck

관련 문제