我发现在我的跨平台应用程序中获得 Unicode 支持真的很痛苦。
我需要可以从 C 代码到数据库、Java 应用程序和 Perl 模块的字符串。其中每一个都使用不同的 Unicode 编码(UTF8、UTF16)或其他一些代码页。我最需要的是一种跨平台的转换方式。
人们使用什么样的工具、库或技术来简化处理这些事情?
我发现在我的跨平台应用程序中获得 Unicode 支持真的很痛苦。
我需要可以从 C 代码到数据库、Java 应用程序和 Perl 模块的字符串。其中每一个都使用不同的 Unicode 编码(UTF8、UTF16)或其他一些代码页。我最需要的是一种跨平台的转换方式。
人们使用什么样的工具、库或技术来简化处理这些事情?
看看这个: http: //www.icu-project.org/
Perl 将Encode作为标准库。它可以用来读/写你想要的任何编码,所以这不会是一个问题。
您如何进行跨平台调用?都是从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 上,它需要单独的库,但是:
当然,如果您使用的是 Java,它内置了它——但我发现它可能不是您想要的(JNI 调用很昂贵)。
PS。你不能将 perl 设置为特定的编码吗?