2012-10-12 3 views
0

이 단어 때문에 문제가 발생합니다. BrúðkaupXML의 문자 인코딩 문제

내 CMS에는 웹 페이지의 맨 위에이 줄이 있습니다.

<?xml version="1.0" encoding="UTF-8" ?> 

잘못된를 사용하여 데이터베이스가 :

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 

데이터베이스에 저장 Brúðkaup 위와 같이 단어와 내가 다음이 내 xml 파일의 상단에 latin1

의 캐릭터 세트를 가지고 문자 인코딩? 비록 그것이라고해도. html에서 utf8 charset을 지정하고 단어가 올바르게 표시되는 이유는 무엇입니까? 그러나 XML에서 나는 비슷한 것을하고 그렇지 않습니다.

XML은 PHP에 의해 생성됩니다. 스크립트에 다음을 추가하려고했습니다.

header('charset=utf-8'); 

이것은 아무런 차이가 없습니다. 어떤 아이디어?

답변

0

데이터는 latin1 (= ISO-8859-1 또는 windows-1252)로 인코딩되었으므로 UTF-8 인코딩으로 페이지에 표시하려면 UTF-8로 변환해야합니다. 이를위한 도구는 데이터베이스에서 데이터를 가져 와서 HTML 또는 XML 문서에 넣는 데 사용하는 소프트웨어에 따라 다릅니다.

HTML 파일이 올바르게 표시되면 latin1로 인코딩되어 브라우저에서 HTML 파일이 실제로 해석되거나 HTML 파일이 실제로 해석됩니다. 이것은 서버가 charset 매개 변수를 지정하는 HTTP Content-Type 헤더를 해당 효과에 보내는 경우 발생합니다. HTTP 헤더는 meta 태그를 덮어 씁니다.