如何将mysql数据库字符集转换为utf-8

Muh*_*our 4 mysql utf-8

我有一个包含大量数据的 vb 论坛

我需要一种方法来转换这个论坛数据库表字符集与他们的数据

latin1_swedish_ci 到 utf8-general-ci

这该怎么做 ?

atx*_*dba 5

http://dev.mysql.com/doc/refman/5.1/en/alter-table.html

如果要将表默认字符集和所有字符列(CHAR、VARCHAR、TEXT)更改为新字符集,请使用如下语句:

ALTER TABLE tbl_name 转换为字符集 charset_name;

点击链接了解更多详情。

请务必先在测试环境中执行此操作。您可能不会遇到来自 latin1 => utf8 的许多问题,但通常在转换字符集时您可能会遇到整理“怪异”。如果您对 char-ish 列有任何类型的唯一约束,则尤其如此。

还要记住,如果您确实有任何 char 或 varchar 列索引移动到 utf-8 将使所需的内存量增加三倍


Rol*_*DBA 5

您可能需要考虑使用ALTER DATABASE为以后的新表设置数据库的默认字符。以下是使用 MySQL 5.5.12 for Windows 的示例:

mysql> show create database example;
+----------+--------------------------------------------------------------------+
| Database | Create Database                                                    |
+----------+--------------------------------------------------------------------+
| example  | CREATE DATABASE `example` /*!40100 DEFAULT CHARACTER SET latin1 */ |
+----------+--------------------------------------------------------------------+
1 row in set (0.00 sec)

mysql> alter database example default character set utf8;
Query OK, 1 row affected (0.01 sec)

mysql> show create database example;
+----------+------------------------------------------------------------------+
| Database | Create Database                                                  |
+----------+------------------------------------------------------------------+
| example  | CREATE DATABASE `example` /*!40100 DEFAULT CHARACTER SET utf8 */ |
+----------+------------------------------------------------------------------+
1 row in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)

试一试 !!!