我已经使用chracterset POLISH_POLAND.EE8MSWIN1250安装了oracle。我可以从nls_database_parameters中的select *中检查值,它们是NLS_CHARACTERSET = EE8MSWIN1250和NLS_NCHAR_CHARACTERSET = AL16UTF16
对于sqlplus,我将NLS_LANG设置为POLISH_POLAND.EE8PC852。现在,我从sqlplus命令提示符处运行一个sql文件,该文件保存在“无BOM的UTF-8”中,因为它具有波兰语字符并且工作正常。但是,如何检查数据库中的值是否合适?
我已经签入SQL Developer(将NLS_LANG设置为抛光后),但它们看起来不正确。请帮忙。
Oracle安装的字符集主要与定义要存储的字符有关。如果您的客户端使用其他编码,Oracle将自动对其进行转换。如果我没记错的话,如果您尝试保存不属于编码的字符,它甚至会警告您。
对于您而言,主要挑战是如何告诉SQLplus文本文件(SQL文件)的编码。由于它是UTF-8,因此需要指定UTF-8值:
set NLS_LANG=.AL32UTF8
Run Code Online (Sandbox Code Playgroud)
要么:
set NLS_LANG=POLISH_POLAND.UTF8
Run Code Online (Sandbox Code Playgroud)
这应该够了吧。
请注意,SQLplus不支持带有BOM的UTF-8。但这目前似乎与您无关。
| 归档时间: |
|
| 查看次数: |
11888 次 |
| 最近记录: |