将法语字符插入 Oracle 会转换为一些垃圾字符
Inserting French character into Oracle gets converted into some junk characters
使用 PL/SQL Developer,我可以在我的 Oracle 数据库中插入法语字符而不会出现任何错误。
正在查询:
SELECT * FROM nls_database_parameters WHERE parameter = 'NLS_NCHAR_CHARACTERSET';
输出:AL16UTF16
但是当我使用 select 语句检索数据时,它会被转换成一些垃圾字符,例如:
système 转换为 système 等等....
任何suggestion/workaround将不胜感激。
此问题是由于客户端和服务器 NLS_LANGUAGE 中的不同值造成的。
在服务器上是:AMERICAN
使用以下查询读取参数:
SELECT * FROM nls_database_parameters
在客户端是:AMERICAN_AMERICA.WE8MSWIN1252
在 PL/SQL 开发者帮助->关于中,点击附加信息按钮并向下滚动。
我在尝试解决问题时观察到的其他情况:
在第一次更新中,角色没有转换为垃圾角色。
但是当我检索它们(其中包含非 ascii 字符)并再次更新时,它们正在转换为垃圾字符。
使用 PL/SQL Developer,我可以在我的 Oracle 数据库中插入法语字符而不会出现任何错误。
正在查询:
SELECT * FROM nls_database_parameters WHERE parameter = 'NLS_NCHAR_CHARACTERSET';
输出:AL16UTF16
但是当我使用 select 语句检索数据时,它会被转换成一些垃圾字符,例如:
système 转换为 système 等等....
任何suggestion/workaround将不胜感激。
此问题是由于客户端和服务器 NLS_LANGUAGE 中的不同值造成的。
在服务器上是:AMERICAN 使用以下查询读取参数:
SELECT * FROM nls_database_parameters
在客户端是:AMERICAN_AMERICA.WE8MSWIN1252
在 PL/SQL 开发者帮助->关于中,点击附加信息按钮并向下滚动。
我在尝试解决问题时观察到的其他情况: 在第一次更新中,角色没有转换为垃圾角色。 但是当我检索它们(其中包含非 ascii 字符)并再次更新时,它们正在转换为垃圾字符。