PL / SQL开发人员命令窗口脚本编码

问题描述 投票:1回答:1

我正在通过pl / sql Developer Command Windows运行sql脚本。这是一个简单的脚本,带有两个insert命令,该命令以两种不同的语言(法语和英语)插入两个标签。法语标签中的某些字符以“错误格式”插入。运行查询select * from V$NLS_PARAMETERS返回值NLS_LANGUAGE =美国NLS_TERRITORY =美国NLS_CHARACTERSET = UTF8

我的脚本文件以UTF编码保存。我在Windows 10计算机上运行。我应该更改NLS_LANG值吗?如果是,我应该插入什么值?标签可以是英文和法文。无论如何,是否以某种编码方式运行命令窗口?还是这些都不是解决方案,我还必须做些其他事情?

提前感谢。

sql oracle character-encoding plsqldeveloper
1个回答
0
投票

最安全的选择可能是使用UNISTR转义任何非ASCII字符:

SQL> select unistr('Fran\00E7ais') label from dual;

LABEL
-----------------
Français

我确定有一种方法可以配置您的脚本,操作系统和PL / SQL Developer,以本机使用不同的字符集。但是,如果有人改为在SQL * Plus中运行脚本会怎样?如果只有几个非ASCII字符,则转义它们可能是最简单的解决方案。

© www.soinside.com 2019 - 2024. All rights reserved.