2016-09-12 2 views
0

질문 : jQuery의 함수 load()을 통해로드하는 텍스트 파일의 인코딩을 어떻게 변경합니까? jQuery에서 load()의 문자 집합/인코딩 변경

은 내가 넣었습니다 index.html있는 1 페이지를했다 내 모든 css, jshtml, 지금은 그 페이지의 헤더를 "추출"할. 나는 "header"라는 이름의 새 폴더를 만들어서 header.css, header.jsheader.html을 포함하고 있습니다. 나는 또한 그 헤더를 포함, (모든 페이지) 템플릿을 생성하고, 따라서,이 템플릿의 <head>은 다음과 같습니다

<head> 
    <link rel="stylesheet" href="header/header.css" charset="windows-1252"> 
    <script src="jquery-3.1.0.min.js"></script> 
    <script src="header/header.js"></script> 
    <script type='text/javascript'>$(document).ready(function(){ 
       $('body').load('header/header.html');}); 
    </script> 
</head> 

이 잘 작동하고, 내가 원하는대로 그렇게 거기에 아무 문제 없어.
문제는 š, đ, ž, č 및 þ와 같은 세르비아어 문자가 검은 색 다이아몬드 ()의 물음표로 표시된다는 것입니다. 나는 약간의 연구를했는데 브라우저 *가 utf8 charset/encoding을 기대하고 있고 위에 나열된 파일들이 모두 인 Windows-1252가으로 인코딩되어 있기 때문입니다. 위의 코드에서 볼 수 있듯이 charset="windows-1252"을 사용했지만 그 부분은 HTML 부분 인 <link>이지만 기존 페이지를 템플릿 페이지에 삽입하려면 jQuery를 사용해야하고 인코딩을 선택할 수 없습니다. 파일을로드 중입니다.

참고 : 나는 메모장 ++을 이용하고 있고 인코딩이 창-1252는 것을 나는 enshure했다. 또한 파이어 폭스을 사용하여 내 페이지를 미리 보았습니다. 파이어 폭스가이 인코딩에 문제가 있다고 말하는 기사를 발견했지만 이전 기사였습니다.

+0

utf8에서 모든 파일과 HTML 페이지를 인코딩하지 않는 이유는 무엇입니까? –

+0

나는 š, đ, ž, č 및 þ와 같은 세르비아어 문자를 사용하고 있기 때문에. 나는 ANSI를 사용할 수 있다고했지만, 그 것은 ¼만을 가지고있다. – Monset

+1

그러나 utf8은 windows-1252에 대해 확실하지 않은 이러한 문자를 지원해야합니다.내가 당신에게 말한 것은 창문이 아닌 utf8을 사용하는 것이 었습니다. 1252 –

답변

0

index.html에 인코딩을 시도 했습니까?

+0

나는 그렇게 할 이유가 없었습니다. – Monset

0

그래서 ... 무슨 일이 일어 났는지 알았는데 ... 아직도 이유는 모르지만 지금은 효과가 있습니다.

메모장 + +에서 인코딩을 변경하면 Convert to ___을 클릭하지 않고 Encode in ___을 클릭했습니다. 여러 번 인코딩을 변경하여 마침내 utf-8으로 변경했지만 여전히 작동하지 않았습니다. 나중에 나는 두 가지 옵션, 즉 Convert to ___Encode in ___이 있다는 것을 알아 냈습니다. 그런 다음 Encode in ___으로갔습니다. 이제 작동합니다. 내가 말할 때, 모든 파일 (header.htmlheader.cssheader.jstemplate.html)을 의미합니다. 나는 notepad++이 인코딩과 어떻게 작동하는지 모르지만 누구나 simmilar 또는 문제에 대해 혼란을 겪는다면 빠른 대답은 다음과 같습니다.

UTF-8이 정상적으로 작동합니다. 너는 1252 나 8859-1/2를 필요로하지 않는다. 나 같은 문제가있는 경우 notepad++Encode in UTF-8 대신 Convert to UTF-8을 클릭하십시오.

제안 해 주셔서 감사 드리며 다소 바보 같은 질문에 사과드립니다. 나는 단지 Convert toEncode in 사이의 차이를 notepad++에 알지 못했다.