diff options
Diffstat (limited to 'doc/README.charsets')
| -rw-r--r-- | doc/README.charsets | 113 |
1 files changed, 0 insertions, 113 deletions
diff --git a/doc/README.charsets b/doc/README.charsets deleted file mode 100644 index d7fa298cde2..00000000000 --- a/doc/README.charsets +++ /dev/null @@ -1,113 +0,0 @@ - - PostgreSQL Charsets README - Josef Balatka, <balatka@email.cz> - Draft v0.1, Tue Jul 20 15:49:07 CEST 1999 - - This document is a brief overview of the national charsets support - that PostgreSQL ver. 6.5 has implemented. Various compilation options - and setup tips are mentioned here to be helpful in the particular use. - - --------------------------------------------------------------------------- - - Table of Contents - - 1. Locale awareness - - 2. Single-byte charsets recoding - - 3. Multi-byte support/recoding - - 4. Credits - - --------------------------------------------------------------------------- - - 1. Locale awareness - - PostgreSQL server supports both locale aware and locale not aware - (default) operational modes. You can determine this mode during the - configuration stage of the installation with --enable-locale option. - - If you don't use --enable-locale, the multi-language code will not be - compiled and PostgreSQL will behave as an ASCII compliant application. - This mode is useful for its speed but only provided that you don't - have to consider national specific chars. - - With --enable-locale you will get a locale aware server using LC_* - environment variables to determine how to process national specifics. - In this case strcoll(3) and similar functions are used internally - so speed is somewhat lower. - - Notice here that --enable-locale is sufficient when all your clients - use the same single-byte encoding as the database server does. - - When your clients use encoding different from the server than you have - to use, moreover, --enable-recode or --with-mb=<encoding> options on - the server side or a particular client that does recoding itself (e.g. - there exists a PostgreSQL ODBC driver for Win32 with various Cyrillic - encoding capability). Option --with-mb=<encoding> is necessary for the - multi-byte charsets support. - - - 2. Single-byte charsets recoding - - You can set up this feature with --enable-recode option. This option - is described as 'enable Cyrillic recode support' which doesn't express - all its power. It can be used for *any* single-byte charset recoding. - - This method uses charset.conf file located in the $PGDATA directory. - It's a typical configuration text file where spaces and newlines - separate items and records and # specifies comments. Three keywords - with the following syntax are recognized here: - - BaseCharset <server_charset> - RecodeTable <from_charset> <to_charset> <file_name> - HostCharset <host_spec> <host_charset> - - BaseCharset defines encoding of the database server. All charset - names are only used for mapping inside the charset.conf so you can - freely use typing-friendly names. - - RecodeTable records specify translation table between server and client. - The file name is relative to the $PGDATA directory. Table file format - is very simple. There are no keywords and characters are represented by - a pair of decimal or hexadecimal (0x prefixed) values on single lines: - - <char_value> <translated_char_value> - - HostCharset records define IP address and charset. You can use a single - IP address, an IP mask range starting from the given address or an IP - interval (e.g. 127.0.0.1, 192.168.1.100/24, 192.168.1.20-192.168.1.40) - - The charset.conf is always processed up to the end, so you can easily - specify exceptions from the previous rules. In the src/data you will - find charset.conf example and a few recoding tables. - - As this solution is based on the client's IP address / charset mapping - there are obviously some restrictions as well. You can't use different - encoding on the same host at the same time. It's also inconvenient when - you boot your client hosts into more operating systems. - Nevertheless, when these restrictions are not limiting and you don't - need multi-byte chars than it's a simple and effective solution. - - - 3. Multi-byte support/recoding - - It's a new generation of charset encoding in PostgreSQL designed as a - more complex solution supporting both single-byte and multi-byte chars. - You can set up this feature with --with-mb=<encoding> option. - - There is no IP mapping file and recoding is controlled through the new - SQL statements. Recoding tables are included in the code. Many national - charsets are already supported and further will follow. - - See doc/README.mb, doc/README.mb.jp to get detailed instruction on how - to use the multibyte support. In the file doc/README.locale there is - a particular instruction on usage of the multibyte support with Cyrillic. - - - 4. Credits - - I'd like to thank the PostgreSQL development team and all contributors - for creating PostgreSQL. Thanks to Oleg Bartunov, Oleg Broytmann and - Tatsuo Ishii for opening the door into the multi-language world. - |
