Table of Contents

Handling of Escaping and Coding

When handling escaping and coding effects (wrong handling of special character and german Umlaut) you need to understand the precise coding and escaping used.

When writing literals in basic rules the backslash is used as escape character allowing to use not printable characters as part of the literal. Some sample are

File system

When reading files from the file system the content is transfered into the used stream. If no third argument is given, no additional conversion of the used coding takes place assuming the file content is available in the filesystem coding.

When the third argument of StreamLoad is used the file is converted from the encoding defined in the third argument to the internal coding of TradeDesign.

When writing files to the file system the content is written in the filesystem encoding. If the third argument specifies a different encoding, the content is converted to the specified encoding before writing to the file system.

Database

When reading database fields the field content is available in the internal coding _without_ any additional escaping.

When you read the database contents with dbfetchstream the TD-Command directly executes all the necessary escapings and formatting for usage of the stream content as streamgrid. Thus if you need to access the internal (=not escaped) content of a column you should

  1. Tokenize the line of the resulting stream into the separate fields (e.g. tokenize( $FldStm, StreamGetLine( $DbFetchedStream, $Idx ), 3) )
  2. Use convertblock 22 on the content of the streamline holding a field content

StreamGrid

When you want to output internal text into a streamgrid you have to used convertblock 21 for each field and need special formatting of dates and amounts as they need to be transferred to text representation.

XML and HTML escaping

When you want to output internal text to XML or HTML you have to use a different convertblock depending on the intention (see documentation of convertblock).