Oracle 数据库中的编码

Encoding in Oracle database

我在向我的 Oracle 数据库中插入值时遇到问题。我必须插入 àè 等法语字符,当我尝试通过 INSERT 语句插入它们时,它会将字符转换为 ¿?.

是否可以设置特定脚本的编码,或者在这种情况下我能做什么?

谢谢

通常您会在安装数据库时设置字符集。但是,如果需要,您可以更改它 post-setup(查找 CSALTER)。如果你的数据库需要支持多种语言,那么你应该看看这个:Supporting Multilingual Databases with Unicode

我已通过添加名为 NLS_LANG 且值为 .AL32UTF8 的环境变量解决了此问题。即使数据库具有美国语言和美国领土,这仍然有效。我在这里遇到的问题是,一旦我更改了 NLS_LANG 变量,它也开始在应用程序中对我的字符进行编码。

您也可以尝试更改您使用的脚本的编码运行。例如,我使用了 ANSI 编码(您可以通过在 notepad++ 中打开脚本并从编码菜单 select 转换为 ANSI 来实现)并且它工作正常。

谢谢大家的帮助:)