将法语字符插入Oracle会转换为一些垃圾字符

时间:2015-06-09 06:51:01

标签: oracle unicode plsqldeveloper

使用PL / SQL Developer,我可以在我的Oracle数据库中插入法语字符而不会出现任何错误。

查询:

SELECT * FROM nls_database_parameters WHERE parameter = 'NLS_NCHAR_CHARACTERSET';

输出:AL16UTF16

但是当我使用select语句检索数据时,它会被转换为一些垃圾字符,例如:

système会转换为système等等....

任何建议/解决方法都将受到赞赏。

1 个答案:

答案 0 :(得分:3)

问题是由于客户端和服务器上的NLS_LANGUAGE值不同。

在服务器上它是:AMERICAN 使用以下查询来读取参数:

SELECT * FROM nls_database_parameters

在客户端,它是:AMERICAN_AMERICA.WE8MSWIN1252

在PL / SQL Developer帮助中 - >关于,单击“附加信息”按钮并向下滚动。

在尝试修复问题时,我观察到了其他什么: 在第一次更新中,字符未转换为垃圾字符。 但是当我检索它们(包含非ascii字符)并再次更新时,它们就会转换为垃圾字符。