(mysql.info.gz) Charset-upgrading
Info Catalog
(mysql.info.gz) Charset-national
(mysql.info.gz) Charset
(mysql.info.gz) Charset-charsets
10.10 Upgrading Character Sets from MySQL 4.0
=============================================
Menu
* Charset-map 4.0 Character Sets and Corresponding 4.1 Character Set/Collation Pairs
* Charset-conversion Converting 4.0 Character Columns to 4.1 Format
What about upgrading from older versions of MySQL? MySQL 4.1 is almost
upward compatible with MySQL 4.0 and earlier for the simple reason that
almost all the features are new, so there's nothing 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 that 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-charset=... --with-collation=...
shell> ./mysqld --default-character-set=... --default-collation=...
If you used `mysqld' with, for example, the MySQL 4.0 `danish'
character set, you should use the `latin1' character set and the
`latin1_danish_ci' collation:
shell> ./configure --with-charset=latin1 \
--with-collation=latin1_danish_ci
shell> ./mysqld --default-character-set=latin1 \
--default-collation=latin1_danish_ci
Use the table shown in Charset-map to find old 4.0 character set
names and their 4.1 character set/collation pair equivalents.
If you have non-`latin1' data stored in a 4.0 `latin1' table and want
to convert the table column definitions to reflect the actual character
set of the data, use the instructions in Charset-conversion.
Info Catalog
(mysql.info.gz) Charset-national
(mysql.info.gz) Charset
(mysql.info.gz) Charset-charsets
automatically generated byinfo2html