New Character Set Configuration File format
===========================================
In MySQL 4.1, character set configuration is stored in XML files, one
file per character set. (In previous versions, this information was
stored in `.conf' files.)
National Character Set
======================
as
that predefined character set. For example, these column type
declarations are equivalent:
CHAR(10) CHARACTER SET utf8
NATIONAL CHARACTER(10)
NCHAR(10)
As are these:
VARCHAR(10) CHARACTER SET utf8
NATIONAL VARCHAR(10)
NCHAR VARCHAR(10)
NATIONAL CHARACTER VARYING(10)
NATIONAL CHAR VARYING(10)
You can use `N'literal'' to create a string in national character set.
These two statements are equivalent:
SELECT N'some text';
SELECT _utf8'some text';
Upgrading from MySQL 4.0
========================
in
earlier versions to conflict with. However, there are some differences
and a few things to be aware of.
Most important: The "MySQL 4.0 character set" has the properties of
both "MySQL 4.1 character sets" and "MySQL 4.1 collations." You will
have to unlearn this. Henceforth we will not bundle character set /
collation properties in the same conglomerate object.
There is a special treatment of national character sets in MySQL 4.1.
`NCHAR' is not the same as `CHAR', and `N'...'' literals are not the
same as `'...'' literals.
Finally, there is a different file format for storing information about
character sets and collations. Make sure you have reinstalled the
`/share/mysql/charsets/' directory containing the new configuration
files.
If you want to start `mysqld' from a 4.1.x distribution with data
created by MySQL 4.0, you should start the server with the same
character set and collation. In this case you won't need to reindex
your data.
There are two ways to do so:
shell> ./configure --with-character-set=... --with-collation=...
shell> ./mysqld --default-character-set=... --default-collation=...
If you used `mysql' with, for example, the MySQL 4.0 `danish' character
set, you should now use the `latin1' character set and the
`latin1_danish_ci' collation:
shell> ./configure --with-character-set=latin1
--with-collation=latin1_danish_ci
shell> ./mysqld --default-character-set=latin1
--default-collation=latin1_danish_ci
Use the table shown in the next section to find old 4.0 character set
names and their 4.1 character set/collation pair equivalents.
4.0 Character Sets and Corresponding 4.1 Character Set/Collation Pairs
----------------------------------------------------------------------
`latin2' `latin2_czech_ci'
3 `dec8' `dec8' `dec8_swedish_ci'
4 `dos' `cp850' `cp850_general_ci'
5 `german1' `latin1' `latin1_german1_ci'
6 `hp8' `hp8' `hp8_english_ci'
7 `koi8_ru' `koi8r' `koi8r_general_ci'
8 `latin1' `latin1' `latin1_swedish_ci'
9 `latin2' `latin2' `latin2_general_ci'
10 `swe7' `swe7' `swe7_swedish_ci'
11 `usa7' `ascii' `ascii_general_ci'
12 `ujis' `ujis' `ujis_japanese_ci'
13 `sjis' `sjis' `sjis_japanese_ci'
14 `cp1251' `cp1251' `cp1251_bulgarian_ci'
15 `danish' `latin1' `latin1_danish_ci'
16 `hebrew' `hebrew' `hebrew_general_ci'
17 `win1251' (removed) `(removed)'
18 `tis620' `tis620' `tis620_thai_ci'
19 `euc_kr' `euckr' `euckr_korean_ci'
20 `estonia' `latin7' `latin7_estonian_ci'
21 `hungarian' `latin2' `latin2_hungarian_ci'
22 `koi8_ukr' `koi8u' `koi8u_ukrainian_ci'
23 `win1251ukr' `cp1251' `cp1251_ukrainian_ci'
24 `gb2312' `gb2312' `gb2312_chinese_ci'
25 `greek' `greek' `greek_general_ci'
26 `win1250' `cp1250' `cp1250_general_ci'
27 `croat' `latin2' `latin2_croatian_ci'
28 `gbk' `gbk' `gbk_chinese_ci'
29 `cp1257' `cp1257' `cp1257_lithuanian_ci'
30 `latin5' `latin5' `latin5_turkish_ci'
31 `latin1_de' `latin1' `latin1_german2_ci'
[Назад] [Содержание] [Вперед]
| Главная |