【发布时间】:2012-07-04 10:02:40
【问题描述】:
我遇到了关于特殊字符的问题。我使用 SAS 连接到 Oracle 数据库,然后将表从 Oracle 下载到 SAS 数据集。
以前,可以正确下载特殊字符而不会出现问题。我最近在工作中收到了一台新笔记本电脑,从那以后出现了一些数据问题。
基本上,正在发生的事情是特殊字符被删除或完全替换。例如,é 正在被 e 取代。 á 替换为 a。其他特殊字符只是完全删除并替换为'?'
我已经阅读了很多关于编码、转码和 NLS_LANGUAGE 的文章,但我就是不知道为什么会发生这种情况以及如何解决它。我的其他仍在使用旧笔记本电脑的同事没有同样的问题!
拜托,任何帮助将不胜感激
【问题讨论】:
-
服务器和客户端的 NLS 设置是什么?如果您在笔记本电脑上使用 SQL*Plus 查询数据库会发生什么?
-
好吧,如果我使用 SQL Developer 从笔记本电脑连接到数据库,我可以看到数据库中存在特殊字符。如果我连接 SAS 并将它们视为数据集,它们就消失了。以下是一些 NLS 数据库参数 NLS_LANGUAGE AMERICAN NLS_TERRITORY AMERICA NLS_CHARACTERSET WE8MSWIN1252 NLS_NCHAR_CHARACTERSET AL16UTF16
-
我认为这让我更接近正确的方向。我在笔记本电脑上看不到系统变量,但在同事的笔记本电脑上也看不到。
-
如果您仍然遇到问题,请回复详细信息。您的旧 PC 和新 PC 在哪些方面不同(操作系统和 SAS 版本)?如果您只是在 SAS 内部遇到此问题,则可能是配置文件设置。