输出文件中的 SAS 编码问题

发布于 2024-10-27 20:16:48 字数 729 浏览 2 评论 0原文

将数据集中的内容输出到外部文件时遇到一个奇怪的问题。

    data test (encoding=utf8);
        set test1;
        file "U:\Projects\...\test.txt" encoding='utf-8' mod;
        put
    /   '       <termEntry id="' _N_ +(-1) '">'
    /   '         <note type="TS_Status">' status '</note>'
    /   '         <note type="TS_Remark">' message_from_admin '</note>'
.....
....
;
run;

数据集test1的编码为utf-8。

问题是输出文件test.txt的编码随输入内容的不同而变化!!例如

输入100行时为utf-8;当输入10行时,是ANSI格式。

即使我在数据语句文件语句之后删除两个\encoding= options,也会出现同样的问题

所以我想知道

  1. 为什么会这样发生了什么以及如何准确控制编码?
  2. 两个位置中的encoding= 选项有何不同?

谢谢

I met a weird problem when outputing contents in data set into external file.

    data test (encoding=utf8);
        set test1;
        file "U:\Projects\...\test.txt" encoding='utf-8' mod;
        put
    /   '       <termEntry id="' _N_ +(-1) '">'
    /   '         <note type="TS_Status">' status '</note>'
    /   '         <note type="TS_Remark">' message_from_admin '</note>'
.....
....
;
run;

Encoding of dataset test1 is utf-8.

The problem is encoding of output file test.txt varies with the input contents!!E.g.

When 100 lines are input, it's in utf-8; when 10 lines are input, it's in ANSI.

The same problem occurs even if I remove both\either encoding= options after data statement and file statement

So I'd like to know

  1. Why this happens and how to control the encoding accurately?
  2. How encoding= options in both locations make a difference?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文