【发布时间】:2012-02-17 16:07:19
【问题描述】:
我似乎无法在我的 Oracle RoR 组合上正确编码。 Oracle 数据库中的信息似乎编码正确。当通过需要特殊编码的 SQL 查找属性时,我得到例如“Straße”,这是我所期望的。从我的 RoR 应用程序请求相同的属性时,我得到“Stra?e”,这显然是不正确的。
- Oracle 服务器上 ENV 中的 NLS_LANG 为 =
AMERICAN_AMERICA.AL32UTF8 - 我的 RoR 应用程序中 database.yml 中的编码 =
utf8 - Oracle 数据库的 NLS_NCHAR_CHARACTERSET =
AL16UTF16
我通过更改上面的参数尝试了几种不同的方法,但没有任何效果。
有人有好主意吗?
【问题讨论】:
-
您使用的是什么驱动程序? Oracle 增强型?
-
马克,是的,我是。我刚刚发现通过将 NLS_LANG="AMERICAN_AMERICA.UTF8" 添加到我的开发机器的环境中,问题在那里得到了解决。在我的生产机器上,我尝试了同样的方法,但没有运气。我还在 htaccess 中添加了 AddDefaultCharset UTF-8,但这也没有解决它。任何帮助表示赞赏。
-
开发版和生产版的Ruby版本不同吗?
-
两个 ruby 1.8.7(不同的补丁)
标签: ruby-on-rails ruby oracle encoding utf-8