跨平台unicode支持

问题描述:

我发现在我的跨平台应用程序中获得Unicode支持真是令人痛苦。跨平台unicode支持

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

人们用什么样的工具,库或技术来处理这些事情更容易?

看一看这样的:http://www.icu-project.org/

你是如何做跨平台的电话?这是否都是从Java调用的?

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

我对你想要做什么感到有点困惑。数据库本质上是所有代码之间的接口吗?然后它应该很容易 - 只需制作数据库UTF-8,每个客户端都需要进行自己的转换。

听起来像一个有趣的问题,你能分享一些更多的细节?

Perl将Encode作为标准库。它可以用来读/写任何你想要的编码,所以这不会是一个问题。

+0

事实上,Perl并不能很好地与需要UTF-16的Windows API和文件系统一起玩。这听起来可能但并不像听起来那么简单。 – hippietrail 2011-03-31 08:52:17

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

  1. 你可能只是安装它/捆绑软件/静态编译它。 (libiconv for windows)。 (我想我会推荐捆绑它)。
  2. 作为特殊情况,您可以使用一些本地Windows调用。

当然,如果你使用Java,它有内置的 - 但我看到它可能不是你想要的(JNI调用是昂贵的)。

PS。你不能将Perl设置为特定的编码?