2011-09-19 5 views
1

현재 레거시 시스템을 새로운 플랫폼으로 변환 중이며 이전 시스템 리소스 파일에서 문자열을 추출해야합니다.유니 코드 텍스트 편집기에 대한 팁

이전 시스템은 Delphi로 작성되었으며 문자열은 .dfm 파일에 보관됩니다. 나는 문자열을 찾는 데 아무런 문제가 없으며 영어 및 기타 유럽 언어에 대해서는 아무런 문제가 없습니다. 일본어로 문자열을 추출하려고 할 때 문제가 발생합니다. 나는 Notepad ++를 사용했고 프로그램이 올바른 인코딩을 인식하지 못한다고 생각합니다. 나는 일본어 기호를 얻지 만 GUI에있는 것과 일치하지 않는 것 같습니다. Notepad ++는 GB2312 (중국어 간체)라는 표지판을 보여줍니다. 그러나 이상하게 보입니다.

제 질문은 누구나 이와 같은 작업에 능숙한 프로그램/텍스트 편집기에 대한 조언이 있습니까? 또한 길을 따라 나를 도울 수있는 팁에 감사드립니다.

+2

japenese와 일하는거야? –

+0

앱은 http://msdn.microsoft.com/en-us/goglobal/bb964654에 언급 된 2 바이트 코드 페이지 중 하나를 사용했을 가능성이 큽니다. 또한 OEM 코드 페이지는 http://msdn.microsoft.com/en-us/goglobal/bb964655를 참조하십시오. 많은 더블 바이트 코드 페이지와 2 개의 여분의 코드 페이지가 있습니다. 나는 메모장 ++가 짐작하고/잘못하고 "932 ​​(일본어 Shift-JIS)"가 필요하다고 생각합니다 –

+0

당신이 무엇을 하려는지 확실하지 않습니까? Delphi DFM 리소스를 "새 플랫폼"으로 변환하고 추출 하시겠습니까? 어떤 플랫폼? 아마도이 문제를 해결하는 열쇠가 될 것입니다. 비 유니 코드 델파이 응용 프로그램에서 이전에 사용 된 코드 페이지를 확인하여 제거 프로세스를 시작할 수 있습니다. –

답변

2

잘못과 같이 인코딩하면 ++ 수동으로 메모장에서 인코딩을 설정하여 문제를 해결할 수 추측되는 문제가 메모장 ++ 단순히이라고 가정 :

레거시 코드를 사용하는 경우를 무엇 코드 페이지

enter image description here

+0

Shift-JIS는 아마도 N ++에서 표시하지 않지만 Big5 (Traditional) 및 GB2312 (Simplified) 만 표시 할 수 있습니다. – Oglop

+0

나는 5.9.3의 npp를 가지고 있는데, 어떤 버전을 쓰고 있니? –

+0

나는 스웨덴어 버전의 Notepad ++ _v5.9.3을 설치했으며 Big5 (Traditional) 및 GB2312 (Simplified) 만 표시했습니다. 설치 제거 및 영어로 설치. 갑자기이 프로그램은 Shift-JIS를 보여주고 인코딩 옵션을 다른 것으로 보이지 않고 리소스 파일에 올바른 텍스트를 얻습니다. 매우 이상하지만, 이제는 잘 될 것 같습니다. 왜 같은 프로그램의 다른 설치가 다른 인코딩을 지원하는지 이해할 수 없다. 그 스크린 샷은 나를 정말로 구해줬다. 고마워. – Oglop

1

메모장 ++ 자체가 이미 인코딩 문제를 처리합니다. 유니 코드와 같이 원하는 인코딩으로 만들려면;

  1. 먼저 파일의 모든 내용을 복사,
  2. 마지막으로,
  3. 파일을 저장할 복사 한 내용으로 모든 내용을 대체 메뉴에서 BOM없이 유니 코드를 선택

그러면 내용이 원하는 인코딩으로 바뀝니다.

1

문자열은 Delphi의 DFM에서 [just] 유지되지 않습니다. 양식 및 관련 텍스트 만 있습니다. 따라서 모든 코드도 검토해야합니다.

DFM의 경우 - Delphi 2009 DFM 이전에는 유니 코드를 사용하지 않았기 때문에 에 사용 된 문자 세트를 알아야합니다. 델파이 애플리케이션의 현지화 및 국제화에있어서 커다란 문제 중 하나였습니다.

+0

이 프로그램은 Delphi 2007에 있습니다. 그렇습니다. – Oglop

관련 문제