將國際化功能添加到Oracle Web應用程序(基於mod_plsql構建)時,我想解釋HTTP_ACCEPT_LANGUAGE參數並使用它在Oracle會話中設置各種NLS_ *設置。有沒有簡單的方法將HTTP_ACCEPT_LANGUAGE轉換爲Oracle NLS_LANG設置?
例如:
HTTP_ACCEPT_LANGUAGE=de
alter session set nls_territory=germany;
alter session set nls_lang=...
但是,你可以得到更復雜的東西,我想......
HTTP_ACCEPT_LANGUAGE=en-us,en;q=0.5
怎麼有鄉親解決這種事情之前?
編輯 - 從簡略的詳細回答以下下面
感謝明確和詳細的答覆簡略。但我並沒有真正清楚自己,因爲我確實在問是否有任何現有的Oracle小部件可以處理這個問題。
我已經下來的手工解析HTTP_ACCEPT_LANGUAGE變量和道路 - 因爲柯特在他的答覆中指出 - 有複雜的一些細微的地方。它感覺就像之前必須做過很多次的事情。隨着我寫越來越多的代碼,我沉浸在「我正在重塑車輪」的感覺中。 :)
必須有這個現有的Oracle方法 - 可能是一些國際會計準則?
編輯 - 偶然發現的答案
雖然尋找別的東西,我整個UTL_I18N包,這不正是威猛跌跌撞撞我後:
Is there an easy way to convert HTTP_ACCEPT_LANGUAGE to Oracle NLS_LANG settings?
感謝明確和詳細的答覆簡略。但我並沒有真正清楚自己,因爲我確實在問是否有任何現有的Oracle小部件可以處理這個問題。我已經下來的手工解析HTTP_ACCEPT_LANGUAGE變量和道路 - 正如你在答覆中指出 - 它更多地參與。它感覺*就像之前必須做過很多次的事情。我有這樣的那顆「我重新發明輪子」的感覺。 :) – 2009-05-22 08:33:00