Jump to content


Click the link below to see the new game I'm developing!


Photo
- - - - -

Codeset issues


No replies to this topic

#1 Jim

Jim

    Advanced

  • Members
  • PipPipPip
  • 52 posts
  • Gender:Male

Posted 01 November 2007 - 10:30 AM

I am currently looking at a character encoding issue at a client site regarding the euro symbol and would be grateful for any insights or suggestions. The environment is MS Windows Server 200n, with ProIV kernel 5.5 and Windows Client 5.6.7.0. The development environment is native.

Our application outputs data to a text file for use by an external print application for the print output. The euro symbol is held on an Oracle table within a database whose character encoding is set to WE8MSWIN1252. The symbol is retrieved and output to a text file using a ProIV logical file definition that has it's external type set to SEQ. The problem is that the external print app does not correctly decode the character, as ProIV always outputs the text file as ANSI with no codepage flag. If the output file is opened in an editor and saved as UTF8, the print application works correctly on retry.

I have tried setting the default system encoding to UTF8 (what I would like to give the print app) in $SYSDEF, the terminal input encoding to UTF8 in $CRT and lastly the output encoding to UTF8 in $SECFL for the relevant ProIV file def but cannot produce anything other than an ANSI file. If it is relevant, the ProIV file is being assigned a physical location using the ALIAS command, as the source file name for the print app is dynamic and per user/session/etc. Are there any other bells or whistles that I have to set in ProIV to get the required output encoding? I have regenned all functions using the file def / restarted the session, though I haven't restarted the proiv server yet as that requires some scheduling.

My next step is to set the external file type for the logical file to BIN and starting the file with 'EFBBBF' to indicate UTF8 to codebase aware processing applications but this is undesireable as it would add some overhead on the output side to make the file human readable (line feeds etc.), and ensure no unintentional changes are made, which would pretty much require a complete retest of the print area.

I'm guessing with the introduction of the euro this is not an uncommon problem and would be very interested to hear how others with this scenario or similar have worked around it - thanks.




Reply to this topic



  


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Click the link below to see the new game I'm developing!