문제

저는 서버에서 브라우저로 XML 형식으로 데이터를 전송하는 웹 애플리케이션을 개발 중입니다.

나는 덴마크 사람이기 때문에 캐릭터에 대한 문제가 빨리 발생합니다. æøå.

나는 HTML에서 "æøå" ~을 위한 æøå.

그러나 문자가 JavaScript를 통과하자마자 다음과 같은 블랙박스가 나타납니다. "?" 사용할 때 그 안에 æøå, 그리고 "æøå" 그대로 인쇄됩니다.

utf-8로 설정해놨는데 별로 도움이 안되네요.

이상적으로는 (자연스럽게) 모든 특수 문자와 함께 작동하기를 원합니다.

작동하지 않는 예는 다음과 같습니다.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Untitled Document</title>
        <script type="text/javascript" charset="utf-8">
            alert("&aelig;&oslash;&aring;");
            alert("æøå");

        </script>
    </head>
    <body>
    </body>
</html>

내가 도대체 ​​뭘 잘못하고있는 겁니까?


좋아, Grapefrukts 답변 덕분에 작동하게 되었습니다.

실제로 MySQL 서버에서 오는 데이터에 필요했습니다.UTF-8 인코딩으로 파일을 저장하면 정적 콘텐츠의 문제만 해결되므로 PHP를 사용하여 가져온 MySQL 서버의 문자열에 대한 솔루션을 포함할 것이라고 생각합니다.

utf8_encode($MyStringHere)

도움이 되었습니까?

해결책

헤더에 UTF-8을 지정하는 것만으로는 충분하지 않습니다.파일을 UTF-8로 저장하지 않았을 것입니다.합리적으로 고급 텍스트 편집기에는 이 옵션이 있습니다.시도해 보세요. 효과가 있을 거라고 확신합니다!

다른 팁

응답 인코딩을 설정할 수 없는 경우 다음을 사용할 수 있습니다. \u 이러한 문자를 표시하려면 JavaScript 문자열 리터럴에 이스케이프 시퀀스를 사용하세요.

alert("\u00e6\u00f8\u00e5")

당신은 또한 사용할 수 있습니다 String.fromCharCode() 숫자 엔터티에서 문자를 출력합니다.

예를 들어 String.fromCharCode( 8226 ) 총알 캐릭터를 생성합니다.

첫 번째 문자에는 "æøå"가 표시되고 다음 문자에는 일부 정크 문자가 표시됩니다.자바스크립트가 맹글링(mangling)되지 않는 것일 수 있습니까(또는 모지바케) 귀하의 문자는 표시되지만 경고 대화 상자는 시스템 기본 글꼴을 사용하고 글꼴이 문자를 표시할 수 없습니까?

태국어에서는 이와 같은 코드를 사용합니다.괜찮아.

$message 내 PHP 변수입니다.

echo("<html><head><meta charset='utf-8'></head><body><script type='text/javascript'>alert('" . $message . "');</script></body></html>");

이것이 도움이 되기를 바랍니다.감사합니다.

(시스템에서 "평판이 충분하지 않습니다"라고 말하여 제가 한 작업에 대한 이미지를 게시할 수 없어서 여기에 이미지를 남깁니다. http://goo.gl/9P3DtI 불편을 드려 죄송합니다.)

내 영어가 약해서 미안해요.

이것은 나에게 예상대로 작동합니다.

alert("&aelig;&oslash;&aring;");

..."æøå" 문자열을 포함하는 경고를 생성하는 반면

alert("æøå");

...ASCII가 아닌 문자로 경고를 생성합니다.

Javascript는 꽤 utf-8로 깨끗하고 방해가 되지 않는 경향이 있습니다.

어쩌면 ISO-8859-1을 제공하는 웹 서버에 이것을 넣는 것일까요?Apache를 사용하는 경우 Apache 구성 파일(또는 재정의할 수 있는 경우 .httaccess)에 다음 줄이 있어야 합니다.

AddCharset utf-8 .js

(메모:앰퍼샌드를 피하도록 편집되었습니다 ...그렇지 않으면 의미가 없습니다.)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top