Consultor Eletrônico



Kbase P84109: Can I use the same word-break table for all my UTF-8 databases?
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   22/01/2009
Status: Verified

GOAL:

Can I use the same word-break table for all my UTF-8 databases?

GOAL:

Can the same word-break table be used for all UtF-8 databases?

FACT(s) (Environment):

OpenEdge 10.x
All Supported Operating Systems

FIX:

If the databases are ALL UTF-8, you can use the same word-break table. It has to be the UTF-8 one though.


Compiling, storing, and applying the UTF-8 word-break rules to a database:

When you convert an existing database to UTF-8, whether you use the PROUTIL CONVCHAR utility or the DUMP and LOAD utilities, you must compile, store, and apply the UTF-8 word-break rules to the database.

If you forget to apply the word-break rules to your database, you might get the following symptoms:

Queries with the CONTAINS operator return incorrect results.

A QBW syntax error saying that an asterisk (*) is allowed only at the end of a word.


To compile, store, and apply the UTF-8 word-break rules to a database:

1. Compile a new version of the word-break table for UTF-8 using the syntax for your operating system:


Windows syntax
proutil -C wbreak-compiler %DLC%\prolang\convmap\utf8-bas.wbt number

UNIX syntax
proutil -C wbreak-compiler $DLC/prolang/convmap/utf8-bas.wbt number


where number indicates an INTEGER between 1 and 255.

This produces a new word-break table, proword.number.

2. Store the new word-break table using one of the following techniques:

Store it in the $DLC directory on UNIX or in the %DLC% directory on Windows.
Store it in an arbitrary directory, then set the environment variable PROWDnumber to the value of the arbitrary directory.
3. Apply the new word-break rules to the database using the following syntax:


Syntax

proutil database-name -C word-rules number