문제

내 크로스 플랫폼 앱에서 유니코드 지원을 받는 것이 정말 골치 아픈 일이라는 것을 알았습니다.

C 코드에서 데이터베이스, Java 애플리케이션, Perl 모듈로 이동할 수 있는 문자열이 필요합니다.이들 각각은 다른 유니코드 인코딩(UTF8, UTF16) 또는 다른 코드 페이지를 사용합니다.나에게 필요한 가장 큰 것은 크로스 플랫폼 방식으로 변환을 수행하는 것입니다.

사람들은 이러한 일을 더 쉽게 처리하기 위해 어떤 종류의 도구, 라이브러리 또는 기술을 사용합니까?

도움이 되었습니까?

해결책

이것을 살펴보십시오: http://www.icu-project.org/

다른 팁

펄은 인코딩 표준 라이브러리로.원하는 인코딩을 읽고 쓰는 데 사용할 수 있으므로 문제가 되지 않습니다.

크로스 플랫폼 호출을 어떻게 수행하고 있나요?모두 Java에서 호출됩니까?

http://java.sun.com/docs/books/tutorial/i18n/text/string.html 유용할 수도 있습니다.

나는 당신이하려는 일이 정확히 무엇인지에 대해 약간 혼란스러워합니다.데이터베이스는 본질적으로 모든 코드 간의 인터페이스입니까?그러면 쉽습니다. DB UTF-8을 만들고 각 클라이언트가 자체 변환을 수행해야 합니다.

흥미로운 문제인 것 같습니다. 좀 더 자세한 내용을 공유해 주실 수 있나요?

글쎄, 나는 iconv가 귀하의 요구에 충분하다고 생각합니다.Iconv는 기본적으로 모든 POSIX 시스템((GNU/)Linux, *BSD, Mac OS X... 등)에서 사용할 수 있습니다.Windows AFAIK에서는 별도의 라이브러리가 필요하지만 다음과 같습니다.

  1. 소프트웨어와 함께 설치/번들/정적 컴파일하면 됩니다.(Windows용 libiconv).(제 생각에는 묶음으로 하는 것이 좋습니다.)
  2. 특별한 경우로 일부 기본 Windows 호출을 사용할 수 있습니다.

물론 Java를 사용하는 경우에는 Java가 내장되어 있습니다. 하지만 원하는 것이 아닐 수도 있습니다(JNI 호출 비용이 많이 듭니다).

추신.Perl을 특정 인코딩으로 설정할 수 없나요?

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