gpt4 book ai didi

sql - Oracle 中的 NLS_LANG 参数

转载 作者:行者123 更新时间:2023-12-02 14:10:51 27 4
gpt4 key购买 nike

我已经安装了 oracle,其字符集为 POLISH_POLAND.EE8MSWIN1250。我可以检查 select * from nls_database_parameters 中的值,它们是 NLS_CHARACTERSET=EE8MSWIN1250 和 NLS_NCHAR_CHARACTERSET=AL16UTF16

对于 sqlplus,我已将 NLS_LANG 设置为 POLISH_POLAND.EE8PC852。现在我从 sqlplus 命令提示符运行一个 sql 文件,该文件保存在“UTF-8 without BOM”中,因为它具有波兰语字符并且工作正常。但如何检查数据库中的值是否正确?

我已经在 SQL Developer 中检查过(在设置 NLS_LANG 进行优化之后),它们看起来不正确。请帮忙。

最佳答案

Oracle 安装的字符集主要与定义存储的字符相关。如果您的客户端使用不同的编码,Oracle 将自动对其进行转换。如果我没记错的话,如果您尝试保存不属于编码的字符,它甚至会警告您。

就您而言,主要挑战是如何告诉 SQLplus 您的文本文件(SQL 文件)的编码。由于是UTF-8,所以需要指定一个UTF-8值:

set NLS_LANG=.AL32UTF8

或者:

set NLS_LANG=POLISH_POLAND.UTF8

这应该可以解决问题。

请注意,SQLplus 不支持带有 BOM 的 UTF-8。但目前这似乎与您无关。

关于sql - Oracle 中的 NLS_LANG 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21021022/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com