将法语字符插入 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 字符)并再次更新时,它们正在转换为垃圾字符。