1

I want to know whether it is possible to tell owa_sylk to generate the Excel file (output) with a special encoding. I have some problems with Chinese characters.

Can we solve this problem in other way? For example, converting the encoding after creating the output?

Thanks

APC
  • 144,005
  • 19
  • 170
  • 281
Dax
  • 438
  • 1
  • 8
  • 29

2 Answers2

1

SYLK is a venerable interface, and pre-dates Unicode. It is also a proprietary Microsoft implementation. They don't publish a spec. So implementations like ORA_SYLK are basically reversed engineered.

Anyway, according to Wikipedia:

"even if a SYLK file is created by an application that supports Unicode (for example Microsoft Excel), the SYLK file will be encoded in the current system's ANSI code page, not in Unicode. If the application contained characters that were displayable in Unicode but have no codepoint in the current system's code page, they will be converted to question marks ('?') in the SYLK file."

So there doesn't seem to be much you can with ORA_SYLK because the fault lies with SYLK. There are some other ways of exporting data to Excel; they may be able to solve your problem. I provided links at the end of my answer to another question. Find out more.

Community
  • 1
  • 1
APC
  • 144,005
  • 19
  • 170
  • 281
0

A colleague of mine solved this issue. We need just to convert the encoding with the help of following code in the body of owa_sylk:

owa_sylk.print_rows change p( line ); on p(convert(line, 'ZHS32GB18030','AL32UTF8'));

Dax
  • 438
  • 1
  • 8
  • 29