2011-11-30 8 views
0

Delphi 2006을 사용하여 프랑스어/네덜란드어/독일어로 번역해야합니다 (제 3 자 유닛/구성 요소 없음).Delphi 2006은 하나의 ansi 코드 페이지에서 프랑스어/네덜란드어/독일어로 번역합니다.

이 3 개 언어의 코드 페이지는 1252입니다. 우리 데이터베이스는 UTF-8을 준수하므로,이 순간 나는 테이블의 모든 값이 UTF-8이라는 사실에 의존합니다. 이 가정에 확신을 가져야합니까? 이것은 잘 작동하거나, UTF-8 -> 코드 페이지 1252 차이점에 대해 걱정해야합니까? 나는 UTF-8과 코드 페이지의 차이점을 이해하지 못했다. (예를 들어 처음 127 바이트는 동일하고 128 바이트로 구걸하는 것이 다르다는 것을 이해했다.)

둘째, 일부 입력란을 검색해야합니다. D2006에서 ANSIUpperCase 기능을 사용할 수 있습니까? 또는 각 특수 문자를 처리하기 위해 사용자 지정 함수를 사용해야합니까?

LE : 데이터는 UTF-8 형식으로 저장됩니다.

미리 감사드립니다.

+0

질문 당 1 개의 주제를 물어 본다면 귀하의 질문이 더 좋기를 바랍니다. 무관 한 것들을 하나의 질문에 결합했기 때문에 당신을 제외하고는 전 세계에 쓸모없는 것처럼 보입니다. 질문을 깨면 모두에게 도움이됩니다. 또한 DB가 이미 UTF8이므로 ANSI 델파이 버전을 계속 사용하는 이유가 궁금합니다. XE/XE2는 자연스러운 업그레이드입니다. 그냥 생각. –

답변

5
  1. UTF8 호환 데이터베이스는 데이터가 실제로 UTF8로 저장된다는 것을 의미하지 않습니다. 예 : Firebird (UTF8 호환)에서는 ANSI 문자 세트를 사용하여 테이블을 선언 할 수 있습니다.
  2. UTF8에서 ANSI 1252로 또는 그 반대로 변환해야합니다. 예 : UTF8EncodeUTF8Decode 루틴.
+0

나는 그 질문을 분명히 할 것이다. 데이터는 UTF-8 – RBA

+0

에 저장되며 UTF-8을 디코딩하면 AnsiUpperCase가 나에게 좋은 결과를 줄 것입니까? 아니면 그 끈을 다뤄야합니까? – RBA

+1

예, ANSI로 변환 한 후 ANSI 문자열 함수를 정상적으로 사용할 수 있습니다. 결과를 다시 UTF8로 변환하여 데이터베이스에 게시하는 것을 잊지 마십시오. –