2013-03-11 2 views
2

나는 이러한 모든 인코딩 내용을 잘 배울 필요가 있습니다. 이것은 바보 같은 인코딩 문제로 시간 낭비하는 세 번째이기 때문에. 여기에 문제가있다 :
나는 간단한 PHP 파일이있다.로컬 서버 유적 문자 인코딩

  • 파일이 UTF-8 내 로컬 서버를 실행하는 경우, 그것은 ı => ıö => Ãœ
  • 가 완벽하게 작동 HTML로 내가 확장자 이름을 바꾸면하게
  • 의 형식으로, 그래서 문제가 로컬 서버입니다, 분명히.

이 문제를 해결하려면, 나는 다음과 같은

  1. 내가 this, thisthis을 읽은
  2. 더블 파일 인코딩을 확인했을, 그것은 UTF-8
  3. 추가 된 메타의 태그 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  4. PHP 태그 내부에 헤더 추가 : header("Content-type:text/html; charset: UTF-8");
  5. mb_internal_encoding('UTF-8');
  6. 의 php.ini 파일 default_charset = UTF-8
  7. 추가로 라인을 수정 PHP 태그 내부의 내부 인코딩을 추가 httpd.conf 파일에 다음 AddDefaultCharset utf-8
  8. 모든 하드 코딩, 그래서 내가하지 않습니다 mysql 인코딩과 관련이 없습니다.

저는 WAMP를 사용하고 있으며 컴퓨터는 Windows 7 영어입니다. 나는 완전히 지쳤다. 그러므로 나는 정말로 도움이 필요하다.
감사합니다. 문서 인코딩

를 BOM

없이 UTF-8이고, 결국 utf8_encode() and utf8_decode()

편집

$text = "A strange string to pass, maybe with some ø, æ, å characters."; 

foreach(mb_list_encodings() as $chr){ 
     echo mb_convert_encoding($text, 'UTF-8', $chr)." : ".$chr."<br>";  
} 
+0

받은 HTTP 헤더에 대해 브라우저에서 알려주는 것은 무엇입니까? 이 노력이 실제로 무엇인가를 변경하지 않았는지 확인하지 않고 올바르게 설정하려고하면 쓸모가 없습니다. – Sven

+0

와우, 나는 여기에서 뭔가를 발견했다. ** 요청 헤더 **에서'Accept-Charset : ISO-8859-1, utf-8; q = 0.7, *; q = 0.3' 그리고'Content-Type : text/html; charset : UTF-8; charset = iso-8859-9' ** 응답 헤더 **. 문제를 어떻게 해결할 수 있습니까? –

+0

요청 헤더가 중요하지 않습니다. 응답 헤더가 잘못되었습니다.문제를 해결하면 문제가 해결 될 수 있습니다. – Sven

답변

0

을 시도 작동하지 않으면 내가 문제를 발견 여부

0

확인합니다. 내가 Content-Type

header("Content-type:text/html; charset: UTF-8"); 

을 쓴, 우리는 :를 뒀다 필요하지만, 캐릭터 세트 후 우리는 나에게 매우 실망했다 등호 =을 넣어해야합니다. 따라서

header('Content-Type: text/html; charset=utf-8'); 

이 문제를 해결합니다.

+0

필자가 아는 한,'utf8_encode()와 utf8_decode()'는 문자열을 변환하기위한 것입니다. 그러나 이것은 전체 문서로 두 개의 문자열이 아닙니다. 네, BOM이 없어요. –

+0

문서를 만들 때 사용한 편집기는 무엇입니까? –

+0

Netbeans 및 Notepad ++,하지만 위의 설명에서 Sven이 말한대로 Response Header 때문입니다. 나는 그 문제를 찾고있다. –