我怎样才能让owa_sylk使用像ANSI这样的特殊编码生成输出?

我想知道是否有可能告诉owa_sylk用特殊的编码生成Excel文件(输出)。 我有一些汉字问题。

我们能以其他方式解决这个问题吗? 例如,创build输出后转换编码?

谢谢

SYLK是一个可敬的界面,并且在Unicode之前。 这也是一个专有的Microsoft实现。 他们不发布规范。 所以像ORA_SYLK这样的实现基本上是反向工程。

无论如何, 根据维基百科 :

“即使SYLK文件是由支持Unicode的应用程序(例如Microsoft Excel)创build的,SYLK文件也会在当前系统的ANSI代码页中进行编码,而不是在Unicode中进行编码,如果应用程序中包含Unicode可显示的字符在当前系统的代码页中没有代码点,它们将被转换成SYLK文件中的问号('?')。

所以ORA_SYLK似乎没有太多,因为SYLK存在这个问题。 还有其他一些将数据导出到Excel的方法。 他们可能能够解决你的问题。 我在回答结束时提供了另一个问题的链接。 了解更多。

我的同事解决了这个问题。 我们只需要在owa_sylk的主体中使用下面的代码来转换编码:

owa_sylk.print_rows改变p(line); 在p(convert(line,'ZHS32GB18030','AL32UTF8'));