【问题标题】:Oracle character encoding - specific symbols displayed incorrectlyOracle 字符编码 - 特定符号显示不正确
【发布时间】:2011-06-08 16:50:02
【问题描述】:

网络浏览器不正确地显示特定的挪威符号。
数据库配置:

NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE AMERICAN
NLS_CHARACTERSET WE8ISO8859P1
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY $
NLS_NCHAR_CHARACTERSET AL16UTF16
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE

问题出在NLS_CHARACTERSET吗?

【问题讨论】:

  • 我相信您正在寻找 NLS_LANG,它可以在 init.ora 文件中设置,或者我相信在会话级别设置
  • @tbone 我已经更新了帖子。你能看到配置中的一些问题吗?

标签: oracle character-encoding nls-lang


【解决方案1】:

如果数据库尚未设置为使用多字节字符集或与这些挪威字符兼容的单字符字节集,则客户端无法解决此问题。

但是你可以尝试设置环境变量看看是否有效

NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export NLS_LANG

看起来数据库是为基于美国的字符集设置的。它是单字节“WE8ISO8859P1”,不是针对挪威语的。

现代应用程序(和 Web 浏览器)通常使用 UTF-8,因此在将 UTF-8 数据转换为单字节字符集时会丢失信息。

我认为,从长远来看,您最好尝试转换数据库。

http://download.oracle.com/docs/cd/B19306_01/server.102/b14225/toc.htm

【讨论】:

  • 我无权访问此数据库。所以看起来它是数据库管理员工作的一部分?
  • 能否请您检查一下我添加到帖子中的 EDIT 部分。看起来问题出在 WE8ISO8859P1 参数中,不是吗?
猜你喜欢
  • 2012-07-12
  • 2011-09-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-15
  • 1970-01-01
  • 2012-12-09
  • 2013-10-26
相关资源
最近更新 更多