ActiveRecord Oracle Enhanced Adapter UTF8 字串編碼
發表於 2009-06-16 10:47:29| 分類: Ruby On Rails
工作上需要在ROR存取Oracle資料庫,安裝了activerecord-oracle_enhanced-adapter這個GEM套件,但在存取中文資料時,始終無法正確寫入編碼,網頁上看到的資料都是???。檢查過log內容,的確依據網頁編碼設定取得UTF-8的中文回傳值,但在寫入Oracle時卻不被接受。
試過在environment.rb當中設定NLS_LANG,無效:
ENV['NLS_LANG'] = "AMERICAN_AMERICA.UTF8"
試過修改Oracle Instance Characterset(需要反覆建立DB),無效。
試過修改column datatype為NVARCHAR2,無效。
最後是參考 這個網頁 的說明,在啟動mongrel_rails之前,先設定環境變數NLS_LANG才解決這問題:
export NLS_LANG="AMERICAN_AMERICA.UTF8"
