使用PL / SQL Developer,我可以在我的Oracle数据库中插入法语字符而不会出现任何错误。
查询:
SELECT * FROM nls_database_parameters WHERE parameter = 'NLS_NCHAR_CHARACTERSET';
输出:AL16UTF16
但是当我使用select语句检索数据时,它会被转换为一些垃圾字符,例如:
système会转换为système等等....
任何建议/解决方法都将受到赞赏。
答案 0 :(得分:3)
问题是由于客户端和服务器上的NLS_LANGUAGE值不同。
在服务器上它是:AMERICAN 使用以下查询来读取参数:
SELECT * FROM nls_database_parameters
在客户端,它是:AMERICAN_AMERICA.WE8MSWIN1252
在PL / SQL Developer帮助中 - >关于,单击“附加信息”按钮并向下滚动。
在尝试修复问题时,我观察到了其他什么: 在第一次更新中,字符未转换为垃圾字符。 但是当我检索它们(包含非ascii字符)并再次更新时,它们就会转换为垃圾字符。