2011-09-20 3 views
2

내 asp.net- 응용 프로그램 중 하나에서 IE8이 잘 작동하는 동안 Internet Explorer 9에서 이상한 동작이 발생했습니다.IE9 인코딩 문제

기본 인코딩으로 utf-8이 필요합니다. 그것은 "ÄäÖüÜü"와 같이 Umlaute라는 독일어를 사용하기 때문에 중요합니다.

페이지를 처음로드 할 때 IE9는 "서유럽"인코딩을 사용하기로 결정합니다. 그것은 내가 아는 한 ISO 8859-1이고 Umlaute는 이상한 편지로 바뀝니다. 두 번째로드에서 IE9는 utf-8을 올바르게 사용합니다.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 TRANSITIONAL//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" lang="de"> 
<meta http-equiv="content-type" content="text/html; charset=utf-8"> 

왜 IE9는 첫 번째로드에서 이상한 작동합니까 다음 소스 코드에서 내가 사용하는 IE하는 인코딩에게 다음과 같은 것들을 시도? 그리고 IE9의 작동 방법을 알려줄 수있는 다른 방법은 무엇입니까

+0

서버는 다른 모든 페이지에서 오른쪽 enconding을 반환하며 오류는 2 서버. –

+0

언급 한 이 포함되어 있지 않습니다.

+0

나는 1, 2 점을 보았다. 세 번째 이유를 확인합시다. WinHex 또는 비슷한 방식으로 마스터 페이지를 열고 처음 10 바이트를 16 진수 형식으로 게시하거나 해당 형식을 게시하십시오. –

답변

1

유효 사이트 - 귀하의 사이트를 호스팅하는 서버가 헤더에 잘못된 인코딩 정보를 반환 할 수 있습니다.

둘 - 어쩌면 그것은 문자열의 일부가 페이지의 헤더 (해당 문자열의 잘못된 기호)의 인코딩에 관한 것입니다.

세 -이 사이트가 배치되어있는 경우 육각 brouser 당신 페이지를 엽니 다 (예를 들어 WinHex) 및 코드의 후 첫 번째 행

(때로는 에디터 장소 첫 번째 바이트에서 잘못된 데이터, 나는 한 번에 우연히 발견했습니다) 온라인, 게시물은 URL이고 나는 문제를 찾으려고 노력한다. 당신 서버의

+0

페이지는 인트라넷 전용입니다. 나는 http 응답을 게시했고 그것은 좋은 것처럼 보인다. –

0

확인 응답 헤더가 수행해야합니다 같은 것을 포함

키 값

컨텐츠 유형 text/html과; 문자셋 = UTF-8은 다음 서버 설정을 확인하지 나 컨텐츠 유형 헤더가

EDIT를 변경 장소가 있어야 당신이 코드 경우

응답 HTTP가/1.1 200

OK : 좋아, 인코딩은 맞아, 당신의 의견에 제안 된대로 첫 번째 바이트가 응답을 확인하면 추가 바이트로 시작하는 것 같습니다 (보통 인코딩에 대한 정보)

+0

HTTP/1.1 200 OK 콘텐츠 길이 : 123702 콘텐츠 형식 : text/html; charset = utf-8 서버 : Microsoft-IIS/7.0 X-AspNet- 버전 : 2.0.50727 X-Powered-By : ASP.NET –