2008-09-02 263 views
4

我發現在我的跨平臺應用程序中獲得Unicode支持真是令人痛苦。跨平臺unicode支持

我需要可以從C代碼到數據庫,到Java應用程序和Perl模塊的字符串。其中每個使用不同的Unicode編碼(UTF8,UTF16)或其他代碼頁。我需要的最重要的事情是進行轉換的跨平臺方式。

人們用什麼樣的工具,庫或技術來處理這些事情更容易?

回答

0

你是如何做跨平臺的電話?這是否都是從Java調用的?

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

我對你想要做什麼感到有點困惑。數據庫本質上是所有代碼之間的接口嗎?然後它應該很容易 - 只需製作數據庫UTF-8,每個客戶端都需要進行自己的轉換。

聽起來像一個有趣的問題,你能分享一些更多的細節?

2

Perl將Encode作爲標準庫。它可以用來讀/寫任何你想要的編碼,所以這不會是一個問題。

+0

事實上,Perl並不能很好地與需要UTF-16的Windows API和文件系統一起玩。這聽起來可能但並不像聽起來那麼簡單。 – hippietrail 2011-03-31 08:52:17

0

好吧。我想iconv已經足夠滿足您的需求。默認情況下,Iconv應該可以在任何POSIX系統上使用(包括(GNU /)Linux,* BSD,Mac OS X ...)。在Windows的AFAIK它需要單獨的庫,但:

  1. 你可能只是安裝它/捆綁軟件/靜態編譯它。 (libiconv for windows)。 (我想我會推薦捆綁它)。
  2. 作爲特殊情況,您可以使用一些本地Windows調用。

當然,如果你使用Java,它有內置的 - 但我看到它可能不是你想要的(JNI調用是昂貴的)。

PS。你不能將Perl設置爲特定的編碼?