当前位置:首页 > Mysql教程 > 列表

Mysql数据库的编码转换方法总结

发布:smiling 来源: PHP粉丝网  添加日期:2014-10-08 12:49:33 浏览: 评论:0 

数据库编码转换这种问题我们碰到的比较少,但不是没有昨天有一个朋友就希望把以前数据库编码转换在uft-8了,下面我来给大家介绍两个办法.

方法一,MYSQL数据库使用UTF-8编码的问题.

1.用phpmyadmin创建数据库和数据表,创建数据库的时候,请将“整理”设置为:“utf8_general_ci”或执行语句:

CREATE DATABASE `dbname` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

创建数据表的时候:如果是该字段是存放中文的话,则需要将“整理”设置为:“utf8_general_ci”,如果该字段是存放英文或数字的话,默认就可以了,相应的SQL语句,代码如下:

  1. CREATE TABLE `test` (   
  2. `id` INT NOT NULL ,   
  3. `nameVARCHAR( 10 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,  --phpfensi.com 
  4. PRIMARY KEY ( `id` )   
  5. ) ENGINE = MYISAM ; 

2.用PHP读写数据库,在连接数据库之后,代码如下:

$connection = mysql_connect($host_name, $host_user, $host_pass);

加入两行,代码如下:

  1. mysql_query("set character set 'utf8'");//读库   
  2. mysql_query("set names 'utf8'");//写库 
就可以正常的读写MYSQL数据库了.

另一种办法

步骤一 命令行执行:mysqldump --opt -hlocalhost -uroot -p*** --default-character-set=lantin1 dbname > /usr/local/dbname.sql

步骤二 将 dbname.sql文件中的create table语句的CHARSET=latin1改为CHARSET=utf8

步骤三 在dbname.sql文件中的insert语句之前加一条"set names utf8;"

步骤四 将dbname.sql转码为utf-8格式,建议使用UltraEditor,可以直接使用该编辑器的"转换->ASCII到UTF-8(Unicode编辑)",或者将文件另存为UTF-8(无BOM)格式

步骤五 命令行执行:mysql -hlocalhost -uroot -p*** --default-character-set=utf8 new_dbname < /usr/local/dbname.sql.

Tags: Mysql编码 l数据库编码转换

分享到: