메모장 ++를 사용하여 ANSI 인코딩 파일을 UTF-8로 어떻게 변환합니까?
웹 사이트가 있고 Firefox에서 jQuery를 사용하여 터키어 문자를 보낼 수 있지만 Internet Explorer에서 터키어 문자를 보내지 않습니다. 메모장에서 소스 파일을 보았는데이 파일의 코드 페이지는 ANSI입니다.
BOM없이 UTF-8로 변환하고 파일을 닫으면 다시 열 때 파일이 다시 ANSI가됩니다.
내 파일을 ANSI에서 UTF-8로 어떻게 변환 할 수 있습니까?
이 부분과 관련하여 :
bom없이 UTF-8로 변환하고 파일을 닫으면 다시 열 때 파일이 다시 ANSI입니다.
가장 쉬운 해결책은 Notepad ++를 올바르게 구성하여 문제를 완전히 방지하는 것입니다.
시도 Settings> - Preferences-> New document-> Encoding-> 선택 UTF-8BOM없이, 체크를 Apply to opened ANSI files.
이렇게하면 열려있는 모든 ANSI 파일이 BOM없이 UTF-8로 처리됩니다.
무슨 일이 일어나고 있는지 설명하려면이 답변 아래의 주석을 읽으십시오.
유니 코드와 UTF-8에 대해 완전히 배우려면 Joel Spolsky 의이 훌륭한 기사 를 읽으십시오 .
아마도 이것은 당신이 필요로하는 대답이 아닐 수도 있지만 비슷한 문제가 발생하여 여기에 넣기로 결정했습니다.
Notepad ++를 통해 500 개의 xml 파일을 UTF8로 변환해야했습니다. 왜 Notepad ++인가? "Encode in UTF8"옵션을 사용했을 때 (많은 다른 변환기가 동일한 논리를 사용함) 모든 특수 문자가 엉망이 되었기 때문에 "UTF8로 변환"을 명시 적으로 사용해야했습니다.
특수 문자 (예 : 분음 부호)를 엉망으로 만들지 않고 Notepad ++를 통해 여러 파일을 변환하는 몇 가지 간단한 단계입니다.
- Notepad ++를 실행 한 다음 메뉴 Plugins-> Plugin Manager-> Show Plugin Manager 를 엽니 다.
- Python Script를 설치합니다 . 플러그인이 설치되면 애플리케이션을 다시 시작하십시오.
- 메뉴 플러그인-> Python 스크립트-> 새 스크립트를 선택합니다 .
- 이름을 선택하고 다음 코드를 붙여 넣습니다.
convertToUTF8.py
import os
import sys
from Npp import notepad # import it first!
filePathSrc="C:\\Users\\" # Path to the folder with files to convert
for root, dirs, files in os.walk(filePathSrc):
for fn in files:
if fn[-4:] == '.xml': # Specify type of the files
notepad.open(root + "\\" + fn)
notepad.runMenuCommand("Encoding", "Convert to UTF-8")
# notepad.save()
# if you try to save/replace the file, an annoying confirmation window would popup.
notepad.saveAs("{}{}".format(fn[:-4], '_utf8.xml'))
notepad.close()
결국 스크립트를 실행하십시오.
파일에 비 ASCII 문자 (코드 포인트 128 이상)가없는 경우 BOM이없는 UTF-8은 ASCII와 동일합니다. 즉, Notepad ++는 잘못 추측합니다.
해야 할 일은 AJAX 응답을 제공 할 때 문자 인코딩을 지정하는 것입니다. 예를 들어 PHP를 사용하면 다음을 수행합니다.
header('Content-Type: application/json; charset=utf-8');
중요한 부분은 모든 JS 응답 과 함께 문자 집합을 지정하는 것입니다. 그렇지 않으면 IE가 사용자의 시스템 기본 인코딩으로 돌아갑니다. 이는 대부분의 경우 잘못된 것입니다.
'Program Club' 카테고리의 다른 글
| 플롯 레이블에서 paste () 및 expression () 함수 결합 (0) | 2020.11.30 |
|---|---|
| # 또는;로 시작하는 모든 줄을 삭제합니다. (0) | 2020.11.30 |
| rspec을 사용하여 레일 3의 컨트롤러에 전달 된 매개 변수를 테스트하는 방법은 무엇입니까? (0) | 2020.11.30 |
| 배열에서 변경 가능한 목록을 만드시겠습니까? (0) | 2020.11.30 |
| 차원의 "x"에 적합한 HTML 엔티티는 무엇입니까? (0) | 2020.11.30 |