Administration: Globalization SAP Sybase IQ 16.0 SP04 DOCUMENT ID: DC01772-01-1604-01 LAST REVISED: May 2014 Copyright © 2014 by SAP AG Or an SAP Affiliate Company
Total Page:16
File Type:pdf, Size:1020Kb
Administration: Globalization SAP Sybase IQ 16.0 SP04 DOCUMENT ID: DC01772-01-1604-01 LAST REVISED: May 2014 Copyright © 2014 by SAP AG or an SAP affiliate company. All rights reserved. No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG. The information contained herein may be changed without prior notice. Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors. National product specifications may vary. These materials are provided by SAP AG and its affiliated companies ("SAP Group") for informational purposes only, without representation or warranty of any kind, and SAP Group shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP Group products and services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warranty. SAP and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and other countries. Please see http://www.sap.com/corporate-en/legal/copyright/ index.epx#trademark for additional trademark information and notices. Contents About International Language Data .....................................1 International Languages and Character Sets .................1 What is ICU, and when is it needed? .....................2 Character sets ................................................................3 Code Pages in Windows ........................................4 How the Collation Sequence Sorts Characters .....7 Collations ........................................................................8 SAP Sybase IQ Collation Algorithm (SACA) .........8 Unicode Collation Algorithm (UCA) .......................9 Collations in an SAP Sybase IQ database ..........11 Alternate collations ..............................................12 Turkish character sets and collations ...................15 Locales .........................................................................18 Locale language ..................................................18 Locale character set ............................................20 Understanding Character Set Translation .....................20 Character Translation for Database Messages ....20 Connection Strings and Character Sets ..............21 Avoiding Character Set Translation ......................22 ANSI and OEM Code Pages ................................................23 ANSI ISO_1 Collation ...................................................23 ANSI 1252LATIN1 Collation..........................................23 ANSI ISO1LATIN1 Collation .........................................23 ANSI ISO9LATIN1 Collation .........................................24 Displaying Collations ..........................................................25 Multibyte Collations .............................................................27 Japanese Language Support .......................................27 Thai Language Support ................................................27 Locale information ...............................................................29 Selecting a Collation to Support a Specific Locale ..........31 Administration: Globalization iii Contents Choosing Character Sets and Collation Sequences to Maximize Performance ....................................................33 Setting a Locale ...................................................................35 List of Language Label Values ......................................35 Setting the Locale for an INSERT...LOCATION Statement .................................................................36 Disabling Character Set Translation on a Database Server ...............................................................................39 Creating a Database with the Default Collation ................41 Changing the database collation .......................................43 Index ..................................................................................45 iv SAP Sybase IQ About International Language Data About International Language Data When you create a database, you specify a collating sequence, or collation, to be used by the database. A collation is a combination of a character set and a sort order for characters in the database. International Languages and Character Sets Configure your SAP® Sybase® IQ installation to handle international language issues. The database collation sorts and compares all character data types in the database, including object names, such as table and column names. SAP Sybase IQ takes advantage of the space efficiency and speed of the SAP Sybase SQL Anywhere® Collation Algorithm. • The database option SORT_COLLATION allows implicit use of the SORTKEY function on ORDER BY expressions. When the value of this option is set to a valid collation name or collation ID, any string expression in the ORDER BY clause is automatically treated as if the SORTKEY function has been invoked. • The SORTKEY function uses the International Components for Unicode (ICU) library, instead of the Sybase Unicode Infrastructure Library (Unilib®). Sort-key values created using a version of SAP Sybase IQ earlier than 15 do not contain the same values created using later versions. Regenerate any sort key values in your database that were generated using a version of SAP Sybase IQ earlier than 15. • The CREATE DATABASE parameter COLLATION supports specification of a collation for a database. The collation of the database must match the collation used by the operating system. The default character set for CREATE DATABASE is ISO_BINENG. • The CP874toUTF8 utility converts data in the CP874 character set into UTF8 collation, supported by SAP Sybase IQ for the Thai language. The CP874toUTF8 utility calls the ICU library to perform data conversion. You can also use this utility to load data in the CP874 character set without converting the data to UTF8. SAP Sybase IQ no longer supports custom collations. If you rebuild a database with a custom collation, rebuild in a single step to preserve the custom collation. If you unload the database and then load the schema and data into a database you create, you must use one of the supplied collations. For more information about changes to database collations, and a list of collations deprecated in SAP Sybase IQ 15, see New Features in SAP Sybase IQ 15.0. Use the iqunload utility to migrate to the current version of SAP Sybase IQ from an existing 12.7 database that was created with a deprecated collation. Administration: Globalization 1 About International Language Data What is ICU, and when is it needed? ICU, or International Components for Unicode, is an open source library developed and maintained by IBM. ICU facilitates software internationalization by providing Unicode support. SAP Sybase IQ implements certain character set conversions and collation operations using ICU. When is ICU needed on the database server? (all platforms) Ideally, ICU should always be available for use by the database server. The following table specifies when and why ICU is needed: ICU is needed when... Notes Unicode Collation Algorithm (UCA) is used as UCA requires ICU. the collation for the NCHAR or CHAR character set. The database character set is not UTF-8, but is a For password conversion from the database char- multi-byte character set. acter set to UTF-8 (database passwords are stored in UTF-8, internally). The client and database character sets are differ- Proper conversion to and from a multi-byte char- ent, and when either of them is multi-byte (in- acter set requires ICU. cluding UTF-8). This includes Unicode ODBC, OLE DB, ADO.NET, and SAP Sybase IQ JDBC applications, regardless of the database character set where at least one of these clients does not have ICU. The database character set is not UTF-8 and con- The database server requires ICU to convert version between CHAR and NCHAR values is UTF-8 to another character set. required. An embedded SQL client uses an NCHAR char- The database server requires ICU to convert acter set other than UTF-8. UTF-8 to another character set. The default em- bedded SQL client NCHAR character set is the same as the initial client CHAR character set. This can be changed using the db_change_nchar_charset function. The CSCONVERT or SORTKEY functions are Character set conversion o and from a multi-byte used. The CSCONVERT function is called to character set requires ICU. Sortkey generation for convert between character sets that conform to many sortkey labels requires UCA, which, in the requirements of the third point above. turn, requires ICU. 2 SAP Sybase IQ About International Language Data When can I get correct character set conversion on the database server without ICU? You can get correct character set conversion without ICU when both the database character set and client character set are single-byte and sqlany.cvf is available (all platforms), or if the operating system supports the conversion (Windows only). This is because single-byte to single-byte conversions can be processed without ICU if the sqlany.cvf file is available, or the host operating system has the appropriate converters installed. When is ICU needed on the client? (all platforms) For Unicode client applications, you are likely to get better combined client and database server performance