Focal Point
[SOLVED] Special Characters in EXL2K report.

This topic can be found at:
https://forums.informationbuilders.com/eve/forums/a/tpc/f/7971057331/m/253102924

April 27, 2010, 02:53 PM
wf_devloper
[SOLVED] Special Characters in EXL2K report.
Hi,
We are using Special Symbols(Double Dagger ‡) in our reports and it s not
getting displayed when the output format is EXL2K.We already changed the
Codepage to 137 on the Reporting server console but still unable to display it.
the report is working fine for both HTML and PDF Outputs.

TABLE FILE CAR
PRINT RETAIL_COST
COMPUTE FLD1/A1 = '?';
COMPUTE FLD2/A1 = HEXBYT(135,FLD2);
COMPUTE VAL1/A1 = ';';NOPRINT
COMPUTE FLD3/A1 = CTRAN(1, VAL1, 59, 135, FLD3);
ON TABLE SET ONLINE-FMT EXL2K
END

This message has been edited. Last edited by: Kerry,


WF 7.7.05 on Linux
HTML, PDF, EXCEL
April 27, 2010, 06:27 PM
Waz
Works for me, in Windows and Unix.

Does the report not work or the characters not get displayed ?


Waz...

Prod:WebFOCUS 7.6.10/8.1.04Upgrade:WebFOCUS 8.2.07OS:LinuxOutputs:HTML, PDF, Excel, PPT
In Focus since 1984
Pity the lost knowledge of an old programmer!

April 27, 2010, 11:49 PM
Ram Prasad E
In code page 437, it works fine. EXCEL also I got the exact symbol.


WebFOCUS 8.1.05
Windows
http://ibiwebfocus.wordpress.com
https://www.facebook.com/groups/ibi.webfocus/
April 28, 2010, 09:27 AM
Francis Mariani
I don't know if this will help, or if you've already done this, but set the NLS WebFOCUS code page to 137 in both the WebFOCUS Admin Console and the WebFOCUS Server Console.


Francis


Give me code, or give me retirement. In FOCUS since 1991

Production: WF 7.7.05M, Dev Studio, BID, MRE, WebSphere, DB2 / Test: WF 8.1.05M, App Studio, BI Portal, Report Caster, jQuery, HighCharts, Apache Tomcat, MS SQL Server
April 28, 2010, 11:40 AM
wf_devloper
i tried setting the codepage to 137 but still unable to display the double dagger symbol.I am able to generate the report but the symbol is displayed with an unknown character.


WF 7.7.05 on Linux
HTML, PDF, EXCEL
April 28, 2010, 01:33 PM
Francis Mariani
This command
? LANG
provides you with information regarding language settings.
My server:
Language               001/AMENGLISH ( ,en)
Code Page              137
Client Code Page       437
Dollar                 24($)
Lowcase alphabet       YES
Decimal notation       OFF(.)
Currency symbol        $
Date/Time format       EDA
NLS sort               YES
NLS upcase/lowcase     YES
NLS Control Characters OFF
DBCS Flag              OFF(SBCS) 


The double-dagger character does NOT get displayed properly on my Windows and AIX servers.


Francis


Give me code, or give me retirement. In FOCUS since 1991

Production: WF 7.7.05M, Dev Studio, BID, MRE, WebSphere, DB2 / Test: WF 8.1.05M, App Studio, BI Portal, Report Caster, jQuery, HighCharts, Apache Tomcat, MS SQL Server
April 28, 2010, 01:44 PM
Francis Mariani
TABLE FILE CAR
PRINT RETAIL_COST
COMPUTE FLD1/A4 = '‡';
COMPUTE FLD2/A1 = HEXBYT(135,FLD2);
COMPUTE VAL1/A1 = ';';NOPRINT
COMPUTE FLD3/A1 = CTRAN(1, VAL1, 59, 135, FLD3);
WHERE RECORDLIMIT EQ 1
END

Result ON Windows:
RETAIL_COST FLD1 FLD2 FLD3 
      8,878 ‡  ‡    ‡ 

Result ON AIX:
  
RETAIL_COST FLD1 FLD2 FLD3 
      8,878 ƒ?­   ç    ç 



Francis


Give me code, or give me retirement. In FOCUS since 1991

Production: WF 7.7.05M, Dev Studio, BID, MRE, WebSphere, DB2 / Test: WF 8.1.05M, App Studio, BI Portal, Report Caster, jQuery, HighCharts, Apache Tomcat, MS SQL Server
April 28, 2010, 02:22 PM
njsden
quote:
i tried setting the codepage to 137 but still unable to display the double dagger symbol


Same here! The symbols display correctly in HTML and PDF but not in Excel.

After running ? LANG as Francis suggested, this is what I get:

 Language                001/AMENGLISH   (   ,en)
 Code Page               137
 Client Code Page        137
 Dollar                  24($)
 Lowcase alphabet        YES
 Decimal notation        OFF(.)
 Currency symbol         $
 Date/Time format        EDA
 NLS sort                YES
 NLS upcase/lowcase      YES
 NLS Control Characters  OFF
 DBCS Flag               OFF(SBCS)


Both Server and Client code pages are set to 137, unlike Francis' environment that has 437 in the Client side. Could that be the reason why it is not working for me?



Prod/Dev: WF Server 8008/Win 2008 - WF Client 8008/Win 2008 - Dev. Studio: 8008/Windows 7 - DBMS: Oracle 11g Rel 2
Test: Dev. Studio 8008 /Windows 7 (Local) Output:HTML, EXL2K.
April 28, 2010, 02:29 PM
Francis Mariani
I changed the client code page on AIX to 137 and now I see double-daggers in HTML and PDF for FLD2 and FLD3, but not for FLD1. EXL2K does not get any double-daggers.


Francis


Give me code, or give me retirement. In FOCUS since 1991

Production: WF 7.7.05M, Dev Studio, BID, MRE, WebSphere, DB2 / Test: WF 8.1.05M, App Studio, BI Portal, Report Caster, jQuery, HighCharts, Apache Tomcat, MS SQL Server
April 28, 2010, 02:33 PM
njsden
There is a way to make it work in Excel via HTMLFORMTYPE but what this does is actually forcing the browser to open the HTML file using the Excel plug-in (helper application) but internally it is still an HTML document!.

Although the double-dagger symbols gets displayed, this may not be something you want if you need to use reporting features only available to actual Excel 2000+ files such as: EXL2K PIVOT, EXL2K FORMULA, EXL2K BYTOC ....

If you can live without any of those, then give this one a try:

SET HTMLFORMTYPE = XLS
TABLE FILE CAR
PRINT RETAIL_COST
COMPUTE FLD1/A1 = '?';
COMPUTE FLD2/A1 = HEXBYT(135,FLD2);
COMPUTE VAL1/A1 = ';'; NOPRINT
COMPUTE FLD3/A1 = CTRAN(1, VAL1, 59, 135, FLD3);
ON TABLE HOLD AS HOUT FORMAT HTMTABLE
END
-RUN
-HTMLFORM BEGIN
<html><body>!IBI.FIL.HOUT;</body></html>
-HTMLFORM END


- Neftali.



Prod/Dev: WF Server 8008/Win 2008 - WF Client 8008/Win 2008 - Dev. Studio: 8008/Windows 7 - DBMS: Oracle 11g Rel 2
Test: Dev. Studio 8008 /Windows 7 (Local) Output:HTML, EXL2K.
April 28, 2010, 02:43 PM
Dan Satchell
As Ram said earlier, try changing the code page to 437. With 437, it works for me in all three formats.


WebFOCUS 7.7.05
April 28, 2010, 03:46 PM
njsden
After changing Server and Client code pages to 437, I still don't get it to work correctly.

? LANG
 NATIONAL LANGUAGE INFORMATION
 Language                001/AMENGLISH   (   ,en)
 Code Page               437
 Client Code Page        437
 Dollar                  24($)
 Lowcase alphabet        YES
 Decimal notation        OFF(.)
 Currency symbol         $
 Date/Time format        EDA
 NLS sort                YES
 NLS upcase/lowcase      YES
 NLS Control Characters  OFF
 DBCS Flag               OFF(SBCS)


Excel is displaying a French c cédille (ç) instead of the double-dagger symbol. Confused



Prod/Dev: WF Server 8008/Win 2008 - WF Client 8008/Win 2008 - Dev. Studio: 8008/Windows 7 - DBMS: Oracle 11g Rel 2
Test: Dev. Studio 8008 /Windows 7 (Local) Output:HTML, EXL2K.
April 28, 2010, 03:53 PM
njsden
quote:
In code page 437, it works fine. EXCEL also I got the exact symbol.


Oh, I've got it now!

It's not that it works in Excel but rather than it works with EXCEL output format. However, it doesn't with EXL2K.

For some reason, whenever I think of Excel reports my mind switches to EXL2K right away.

There are many interesting features available only in EXL2K format (such as report stylesheets for instance) which aren't in EXCEL, so this would be another trade-off.



Prod/Dev: WF Server 8008/Win 2008 - WF Client 8008/Win 2008 - Dev. Studio: 8008/Windows 7 - DBMS: Oracle 11g Rel 2
Test: Dev. Studio 8008 /Windows 7 (Local) Output:HTML, EXL2K.
April 28, 2010, 03:58 PM
njsden
In fact, when using EXCEL output format it works fine even when using the 137 Western Europe (Latin-1) code page we regularly use to support both English and French versions of our reports.

TABLE FILE CAR
PRINT RETAIL_COST
COMPUTE FLD1/A1 = '?';
COMPUTE FLD2/A1 = HEXBYT(135,FLD2);
COMPUTE VAL1/A1 = ';'; NOPRINT
COMPUTE FLD3/A1 = CTRAN(1, VAL1, 59, 135, FLD3);
ON TABLE PCHOLD FORMAT EXCEL
END


Sadly, styling is not supported in that format which would be a significant drawback for some environments (like the one I use).

Would there be a way (other than using HTMLFORMTYPE) to support both styling and the double-dagger symbol (and others)?

- Neftali.



Prod/Dev: WF Server 8008/Win 2008 - WF Client 8008/Win 2008 - Dev. Studio: 8008/Windows 7 - DBMS: Oracle 11g Rel 2
Test: Dev. Studio 8008 /Windows 7 (Local) Output:HTML, EXL2K.
April 28, 2010, 05:25 PM
Dan Satchell
 NATIONAL LANGUAGE INFORMATION
 Language                001/AMENGLISH   (   ,en)
 Code Page               437
 Client Code Page        437
 Dollar                  24($)
 Lowcase alphabet        YES
 Decimal notation        OFF(.)
 Currency symbol         $
 Date/Time format        EDA
 NLS sort                NO
 NLS upcase/lowcase      NO
 NLS Control Characters  OFF
 DBCS Flag               OFF(SBCS)


Weird. It works for me in HTML, DHTML, EXL2K, EXCEL, and PDF.


WebFOCUS 7.7.05
April 28, 2010, 05:40 PM
njsden
Dan, these settings in your environment:
 NLS sort                NO
 NLS upcase/lowcase      NO


are different from the ones in my environment:

 NLS sort                YES
 NLS upcase/lowcase      YES


I don't know whether or not that's related to the issue under discussion. I need to research how to change those particular settings in my test environment to see what happens ...

- Neftali.



Prod/Dev: WF Server 8008/Win 2008 - WF Client 8008/Win 2008 - Dev. Studio: 8008/Windows 7 - DBMS: Oracle 11g Rel 2
Test: Dev. Studio 8008 /Windows 7 (Local) Output:HTML, EXL2K.
April 28, 2010, 06:10 PM
njsden
To make it even more interesting ... running the code in WF 5.3.4 gives me the double-dagger symbol in EXL2K ... running it in 7.6.11 with the same code pages still gives me a c-cédille Confused



Prod/Dev: WF Server 8008/Win 2008 - WF Client 8008/Win 2008 - Dev. Studio: 8008/Windows 7 - DBMS: Oracle 11g Rel 2
Test: Dev. Studio 8008 /Windows 7 (Local) Output:HTML, EXL2K.
April 28, 2010, 06:57 PM
Waz
Here is a simple test that may narrow down where the issue is.

As EXL2K is a text file, open the result in a text editor and check if the char ‡ is in there.

The other question is what font is being used.


Waz...

Prod:WebFOCUS 7.6.10/8.1.04Upgrade:WebFOCUS 8.2.07OS:LinuxOutputs:HTML, PDF, Excel, PPT
In Focus since 1984
Pity the lost knowledge of an old programmer!

May 04, 2010, 10:35 PM
wf_devloper
Its working when i change the NLS Codepage in reporting Server to 1252 instead of 137.
Thanks Folks foe all your help and suggestions.


WF 7.7.05 on Linux
HTML, PDF, EXCEL
May 05, 2010, 10:25 AM
Francis Mariani
Interesting, 1252 is not listed in the Admin Console.

I wonder if Unicode (UTF-8) would solve all problems?

137 - U.S. English
137 - Western European
420 - Arabic
424 - Hebrew
813 - Greek (ISO)
838 - Thai
874 - Thai
912 - Central European
912 - Czech
914 - Baltic (ISO 8859-4)
916 - Hebrew
920 - Turkish
921 - Baltic (ISO 8859-13)
933 - Korean
935 - Simplified Chinese
937 - Traditional Chinese
939 - Japanese
942 - Japanese
946 - Simplified Chinese
949 - Korean
1026 - Turkish
1047 - U.S. English
1047 - Western European
1089 - Arabic
1112 - Baltic
1250 - Eastern European
1251 - Russian
1253 - Greek (Windows)
1254 - Turkish (Windows)
1255 - Hebrew (Windows)
1257 - Baltic (Windows)
10942 - Japanese EUC
10948 - Traditional Chinese
65001 - Unicode (UTF-8)


Francis


Give me code, or give me retirement. In FOCUS since 1991

Production: WF 7.7.05M, Dev Studio, BID, MRE, WebSphere, DB2 / Test: WF 8.1.05M, App Studio, BI Portal, Report Caster, jQuery, HighCharts, Apache Tomcat, MS SQL Server
May 05, 2010, 10:32 AM
Francis Mariani
According to the NLS documentation:

quote:
code page 137 - Information Builders proprietary code page, which handles all major North American,
South American, and Western European languages (except Greek) for Windows and UNIX. Code page 137 is functionally equivalent to the Microsoft Windows 1252 and UNIX ISO 8859-1 code pages.


quote:
ANSI - Acronym for American National Standards Institute. Refers to the IBM PC-compatible Microsoft Windows 1252 Latin-1 code page.


quote:
ISO - Acronym for the French name of the International Organization for Standardization. It sometimes refers to the ISO-8859-x family of UNIX code pages, and specifically the ISO-8859-1 Latin-1 code page, which has the same layout as the Windows 1252 code page and Information Builders proprietary code page 137.



Francis


Give me code, or give me retirement. In FOCUS since 1991

Production: WF 7.7.05M, Dev Studio, BID, MRE, WebSphere, DB2 / Test: WF 8.1.05M, App Studio, BI Portal, Report Caster, jQuery, HighCharts, Apache Tomcat, MS SQL Server
May 05, 2010, 11:49 AM
njsden
quote:
Code page 137 is functionally equivalent to the Microsoft Windows 1252 and UNIX ISO 8859-1 code pages.

Hmmm, based on the documentation it seems to me that by using Code Page 137 we should then be well covered when dealing with special characters (other than Greek). I still don't understand why I keep getting the wrong double-dagger representation in EXL2K Frowner

I'll do as wf_devloper says and will switch to 1252 instead but it doesn't make much sense if in theory code 137 is equivalent to MS 1252 Confused



Prod/Dev: WF Server 8008/Win 2008 - WF Client 8008/Win 2008 - Dev. Studio: 8008/Windows 7 - DBMS: Oracle 11g Rel 2
Test: Dev. Studio 8008 /Windows 7 (Local) Output:HTML, EXL2K.
January 10, 2012, 05:33 PM
Francis Mariani
FYI,

I had to change the code page for both the Client and reporting servers to 65001 - Unicode (UTF-8) on a multi-tier environment where the reporting server is on UNIX...


Francis


Give me code, or give me retirement. In FOCUS since 1991

Production: WF 7.7.05M, Dev Studio, BID, MRE, WebSphere, DB2 / Test: WF 8.1.05M, App Studio, BI Portal, Report Caster, jQuery, HighCharts, Apache Tomcat, MS SQL Server
January 11, 2012, 11:23 AM
njsden
I assume your database is also using Unicode as its character set? Otherwise, you may be getting some funny translations when TABLE FILE'ing from it.



Prod/Dev: WF Server 8008/Win 2008 - WF Client 8008/Win 2008 - Dev. Studio: 8008/Windows 7 - DBMS: Oracle 11g Rel 2
Test: Dev. Studio 8008 /Windows 7 (Local) Output:HTML, EXL2K.
January 11, 2012, 11:59 AM
Francis Mariani
According to the DB guy, the database is set to 1252. 1252 is equivalent to 137 and neither works with this database so I think he's wrong. It must be Unicode.


Francis


Give me code, or give me retirement. In FOCUS since 1991

Production: WF 7.7.05M, Dev Studio, BID, MRE, WebSphere, DB2 / Test: WF 8.1.05M, App Studio, BI Portal, Report Caster, jQuery, HighCharts, Apache Tomcat, MS SQL Server