关于Java:跨平台Unicode支持

关于Java:跨平台Unicode支持

cross platform unicode support

我发现在我的跨平台应用程序中获得Unicode支持确实是一个难题。

我需要可以从C代码到数据库,从Java应用程序到Perl模块的字符串。 这些中的每一个都使用不同的Unicode编码(UTF8,UTF16)或其他代码页。 我需要的最大的事情是跨平台的转换方式。

人们使用什么样的工具,库或技术来简化处理这些事情?


看看这个:http://www.icu-project.org/


Perl具有Encode作为标准库。它可以用来读/写您想要的任何编码,因此不会有问题。


好吧,我想iconv足以满足您的需求。 Iconv默认情况下应在任何POSIX系统上可用(包括(GNU /)Linux,* BSD,Mac OS X ...)。在Windows AFAIK上,它需要单独的库,但:

  • 您可以只将其安装/与软件捆绑/静态编译即可。 (适用于Windows的libiconv)。 (我想我建议将其捆绑)。
  • 您可以使用某些本机Windows调用作为特殊情况。
  • 当然,如果您使用的是Java,它是内置的-但我看到它可能不是您想要的(JNI调用很昂贵)。

    PS。您不能将perl设置为特定的编码吗?


    您如何进行跨平台通话?都是从Java调用的吗?

    http://java.sun.com/docs/books/tutorial/i18n/text/string.html可能会有用。

    我对您要尝试执行的操作感到有些困惑。数据库本质上是所有代码之间的接口吗?然后,这应该很容易-只需制作DB UTF-8,每个客户端将需要进行自己的转换。

    听起来像是一个有趣的问题,您能否分享更多详细信息?


    推荐阅读