我有 Oracle SQL Developer (3.1.07),我正在尝试使用使用 WE8ISO8859P1
的数据库。编码:
SELECT * FROM nls_database_parameters WHERE parameter = 'NLS_CHARACTERSET';
我在保存包含 unicode 符号的包时遇到问题。当我打开之前保存的包时,所有 unicode 符号都变成了
'¿'
.我必须更改哪些设置才能使 SQL Developer 保留这些符号?
我尝试将环境编码设置为
'ISO-8859-15'
和其他一些编码,但这无济于事。
最佳答案
如果您的数据库将文本编码为非 unicode 单字节编码(例如 ISO-8859),则字符表中不存在的任何符号都将被视为无效并由占位符替换。你不能从那回来,信息丢失了。
这通常可以在存储数据时解决,但至于源代码,您无法控制 Oracle 如何对您的字符串进行编码。
如果您的数据库配置为使用这种编码方案,您可能不应该编写违反其规则的代码。
关于Oracle SQL Developer 环境编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9631515/