教大家怎样将MYSQL从GBK转UTF-8
-- phpMyAdmin SQL Dump-- version 2.8.0-rc2
-- http://www.phpmyadmin.net
--
-- 主机: localhost
-- 生成日期: 2007 年 05 月 15 日 08:17
-- 服务器版本: 5.0.18
-- PHP 版本: 5.1.2
--
-- 数据库: `tem`
--
-- --------------------------------------------------------
--
-- 表的结构 `test`
--
CREATE TABLE `test` (
`name` varchar(10) character set gbk NOT NULL,
`value` varchar(10) character set gbk NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
--
-- 导出表中的数据 `test`
--
INSERT INTO `test` (`name`, `value`) VALUES ('我的名', '我的值'),
('我的名', '我的值'),
('我的名', '我的值');
上面是我导出的数据库结构,我是直接在”tem"数据中操作的(没有的建一个 CREATE DATABASE `tem` ;)。
<?PHP
$link = mysql_connect('localhost','root','root');
mysql_select_db('tem') or die('不能选择数据库');
$tem =mysql_query('select * from `test`');
while($result = mysql_fetch_array($tem)){
print $result['name']."<br>";
print $result['value']."<br>";
}
mysql_free_result($result);
//mysql_query('insert into `test` values("我的名","我的值")');
//mysql_query('DELETE FROM `test` where `name` = "我的名"');
?>
这时test.php文件能正常访问,默认的编码为gb2312,大家可以转成UTF-8看下,肯定乱码了。
那怎么改成UTF-8的编码呢?
其实就改动几个地方就可以了,看下我改动的地方
--
-- 表的结构 `test`
--
SET NAMES `utf8`;
CREATE TABLE `test` (
`name` varchar(10) character set utf8 NOT NULL,
`value` varchar(10) character set utf8 NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--
-- 导出表中的数据 `test`
--
这样修改后再导入到库里面,发现整理已经从GBK变成UTF8了。这样修改后还要将test.php内容修改为
<?PHP
header("Content-type: text/html; charset=utf-8"); //添加1:以UTF-8方式显示页面内容
$link = mysql_connect('localhost','root','root');
mysql_select_db('tem') or die('不能选择数据库');
mysql_query('set names `utf8`'); //添加2:设置MYSQL字符集为UTF8
$tem =mysql_query('select * from `test`');
while($result = mysql_fetch_array($tem)){
print $result['name']."<br>";
print $result['value']."<br>";
}
mysql_free_result($result);
//mysql_query('insert into `test` values("我的名","我的值")');
//mysql_query('DELETE FROM `test` where `name` = "我的名"');
?>
OK,经过这两步操作,你就可以将你的程序变成UTF8编码的了。
当然模板和和其他文件里的字符也要相应的改变了,这也就是为什么有些页面某部分在GBK下显示正常,而在UTF-8下显示不正常的原因。
呆会儿放个批量修改文件编码的脚本。 真功夫
谢谢无私分享:victory: 牛淫。。。。。。。 收藏.......... 学习,这个一定要顶/ 正需要:lol :victory: 我劝楼主不要误导观众 偶还是喜欢用工具啊 。。。。。。。。。 :( 进入PMA,选择显示编码UTF-8,导出数据就是UTF-8了。。。。。
回复 #9 还能注册马.甲么 的帖子
:( :( :(要是几百MB也可以么啊 ?
页:
[1]
2