나는 이러한 모든 인코딩 내용을 잘 배울 필요가 있습니다. 이것은 바보 같은 인코딩 문제로 시간 낭비하는 세 번째이기 때문에. 여기에 문제가있다 :
나는 간단한 PHP 파일이있다.로컬 서버 유적 문자 인코딩
- 파일이 UTF-8 내 로컬 서버를 실행하는 경우, 그것은
ı => ı
및ö => Ãœ
- 가 완벽하게 작동 HTML로 내가 확장자 이름을 바꾸면하게
- 의 형식으로, 그래서 문제가 로컬 서버입니다, 분명히.
이 문제를 해결하려면, 나는 다음과 같은
- 내가 this, this 및 this을 읽은
- 더블 파일 인코딩을 확인했을, 그것은 UTF-8
- 추가 된 메타의 태그
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- PHP 태그 내부에 헤더 추가 :
header("Content-type:text/html; charset: UTF-8");
- 는
mb_internal_encoding('UTF-8');
- 이 의 php.ini 파일
default_charset = UTF-8
- 추가로 라인을 수정 PHP 태그 내부의 내부 인코딩을 추가 httpd.conf 파일에 다음
AddDefaultCharset utf-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>";
}
받은 HTTP 헤더에 대해 브라우저에서 알려주는 것은 무엇입니까? 이 노력이 실제로 무엇인가를 변경하지 않았는지 확인하지 않고 올바르게 설정하려고하면 쓸모가 없습니다. – Sven
와우, 나는 여기에서 뭔가를 발견했다. ** 요청 헤더 **에서'Accept-Charset : ISO-8859-1, utf-8; q = 0.7, *; q = 0.3' 그리고'Content-Type : text/html; charset : UTF-8; charset = iso-8859-9' ** 응답 헤더 **. 문제를 어떻게 해결할 수 있습니까? –
요청 헤더가 중요하지 않습니다. 응답 헤더가 잘못되었습니다.문제를 해결하면 문제가 해결 될 수 있습니다. – Sven