• UTL_FILE写入文件,文件用记事本打开不换行的问题


    UTL_FILE写入文件,文件用记事本打开不换行的问题









    皇上爱傻妞
    2018-08-15 11:15:24

    1073



    收藏

    1





    分类专栏:

    问题记录






    版权











    承接之前的一篇
    之前将一行数据写完然后用UTL_FILE.NEW_LINE(l_output);换行结束
    但是发现一个问题,生成的文件用记事本打开不会自动换行,像这样

    但是用notepad打开会自动换行,因为windows记事本的换行是 ,而其他一般是 。有一种手工的方法就是用notepad打开然后将所有 替换成 。


    不想手工改的话,最后解决方法如下:

    UTL_FILE.put(l_output,chr(13)||chr(10));
    UTL_FILE.NEW_LINE(l_output,0);
    用上面的代码替换UTL_FILE.NEW_LINE(l_output);
    1234

    也可以这样

    UTL_FILE.FFLUSH(l_output);-- FFLUSH强制将缓冲的数据写入文件
    UTL_FILE.put(l_output,chr(13)||chr(10));12

    在这个过程中发现一个问题如果只用UTL_FILE.put(l_output,chr(13)||chr(10));输出的文件内容会减少,这个有点不太明白,可能跟缓存有关。如果有大神知道原因的话欢迎评论赐教:)
    最后瞎折腾就加了一个UTL_FILE.NEW_LINE(l_output,0); OK了

    还有一个问题就是导出的csv文件直接用excel打开,中文乱码了,知道解决的大神求赐教
    用记事本打开然后另存为的方法可以解决,但是不想用手工解决的方法。
    而且奇怪的是我选择另存为的时候编码显示的就是utf-8,用notepad打开显示也是utf-8,为什么再另存为一次再用excel打开就正常了呢。搞不懂
    ————————————————
    版权声明:本文为CSDN博主「皇上爱傻妞」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/qq_37613533/java/article/details/81700890

  • 相关阅读:
    shelve模块和xml模块
    time模块,random模块和shutil模块
    包的使用
    目录开发规范
    redis 初步认识四(redis锁,防并发)
    redis 初步认识三(设置登录密码)
    redis 初步认识二(c#调用redis)
    微信小程序 初步认识一(微信运动步数)
    redis 初步认识一(下载安装redis)
    c# 7.0 6.0 新语法
  • 原文地址:https://www.cnblogs.com/max1999/p/13202474.html
Copyright © 2020-2023  润新知