我正在将 Solaris 代码迁移到 Linux,但遇到了 sql 脚本中使用的管道符号损坏的问题。
有多个带有断线符号 ( ¦
) 的 SQL 脚本(及其生成的输出)在 Solaris 中运行得非常好。但Linux将其转换为反问号符号( ¿
)。它在 Toad 中看起来像下面这样
Linux:
string1 := string1 || chr(20) || var || ': ' || nvl(var_val, 'NULL') || '¿' ;
索拉里斯:
string1 := string1 || chr(20) || var || ': ' || nvl(var_val, 'NULL') || '¦' ;
我最多能想到的是,这可能与编码有关,但不确定是否是这种情况或解决方案。任何线索都会非常有帮助。
编辑添加版本和其他详细信息:使用 GNU Linux 版本 2.6.32
# locale
LANG=C
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=
Solaris 具有几乎相同的值,只是 LANG 为空