找回密码
 注册
【阿里云】2核2G云服务器新老同享 99元/年,续费同价,云服务器3年机/5年机限时抢购,低至 2.5折华为云精选云产品特惠糖果主机Jtti,新加坡服务器,美国服务器,香港服务器,海外云服务器
查看: 1749|回复: 19

教大家怎样将MYSQL从GBK转UTF-8

[复制链接]
发表于 2007 年 5 月 15 日 16:53:44 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
  1. -- phpMyAdmin SQL Dump
  2. -- version 2.8.0-rc2
  3. -- [url]http://www.phpmyadmin.net[/url]
  4. --
  5. -- 主机: localhost
  6. -- 生成日期: 2007 年 05 月 15 日 08:17
  7. -- 服务器版本: 5.0.18
  8. -- PHP 版本: 5.1.2
  9. --
  10. -- 数据库: `tem`
  11. --

  12. -- --------------------------------------------------------

  13. --
  14. -- 表的结构 `test`
  15. --

  16. CREATE TABLE `test` (
  17.   `name` varchar(10) character set gbk NOT NULL,
  18.   `value` varchar(10) character set gbk NOT NULL
  19. ) ENGINE=MyISAM DEFAULT CHARSET=latin1;

  20. --
  21. -- 导出表中的数据 `test`
  22. --

  23. INSERT INTO `test` (`name`, `value`) VALUES ('我的名', '我的值'),
  24. ('我的名', '我的值'),
  25. ('我的名', '我的值');

复制代码

上面是我导出的数据库结构,我是直接在”tem"数据中操作的(没有的建一个
  1. CREATE DATABASE `tem` ;
复制代码
)。
  1. <?PHP
  2. $link = mysql_connect('localhost','root','root');
  3. mysql_select_db('tem') or die('不能选择数据库');
  4. $tem =mysql_query('select * from `test`');
  5. while($result = mysql_fetch_array($tem)){
  6.         print $result['name']."<br>";
  7.         print $result['value']."<br>";
  8. }
  9. mysql_free_result($result);
  10. //mysql_query('insert into `test` values("我的名","我的值")');
  11. //mysql_query('DELETE FROM `test` where `name` = "我的名"');
  12. ?>
复制代码

这时test.php文件能正常访问,默认的编码为gb2312,大家可以转成UTF-8看下,肯定乱码了。
那怎么改成UTF-8的编码呢?
其实就改动几个地方就可以了,看下我改动的地方
  1. --
  2. -- 表的结构 `test`
  3. --
  4. SET NAMES `utf8`;
  5. CREATE TABLE `test` (
  6.   `name` varchar(10) character set utf8 NOT NULL,
  7.   `value` varchar(10) character set utf8 NOT NULL
  8. ) ENGINE=MyISAM DEFAULT CHARSET=utf8;

  9. --
  10. -- 导出表中的数据 `test`
  11. --
复制代码

这样修改后再导入到库里面,发现整理已经从GBK变成UTF8了。这样修改后还要将test.php内容修改为
  1. <?PHP
  2. header("Content-type: text/html; charset=utf-8");   //添加1:以UTF-8方式显示页面内容
  3. $link = mysql_connect('localhost','root','root');
  4. mysql_select_db('tem') or die('不能选择数据库');
  5. mysql_query('set names `utf8`');   //添加2:设置MYSQL字符集为UTF8
  6. $tem =mysql_query('select * from `test`');
  7. while($result = mysql_fetch_array($tem)){
  8.         print $result['name']."<br>";
  9.         print $result['value']."<br>";
  10. }
  11. mysql_free_result($result);
  12. //mysql_query('insert into `test` values("我的名","我的值")');
  13. //mysql_query('DELETE FROM `test` where `name` = "我的名"');
  14. ?>
复制代码

OK,经过这两步操作,你就可以将你的程序变成UTF8编码的了。

当然模板和和其他文件里的字符也要相应的改变了,这也就是为什么有些页面某部分在GBK下显示正常,而在UTF-8下显示不正常的原因。

呆会儿放个批量修改文件编码的脚本。

评分

参与人数 2兑换券 +15 收起 理由
善良的狼 + 10
笑傲中国 + 5 谢谢您的付出

查看全部评分

Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
发表于 2007 年 5 月 15 日 17:04:35 | 显示全部楼层
【腾讯云】2核2G云服务器新老同享 99元/年,续费同价
真功夫
谢谢无私分享
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
回复

使用道具 举报

发表于 2007 年 5 月 15 日 17:09:58 | 显示全部楼层
牛淫。。。。。。。
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
回复

使用道具 举报

发表于 2007 年 5 月 15 日 18:03:51 | 显示全部楼层
收藏..........
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
回复

使用道具 举报

发表于 2007 年 5 月 15 日 18:37:09 | 显示全部楼层
学习,这个一定要顶/
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
回复

使用道具 举报

发表于 2007 年 5 月 15 日 21:24:16 | 显示全部楼层
正需要
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
回复

使用道具 举报

发表于 2007 年 5 月 16 日 10:09:54 | 显示全部楼层
【腾讯云】2核2G云服务器新老同享 99元/年,续费同价
我劝楼主不要误导观众
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
回复

使用道具 举报

发表于 2007 年 5 月 16 日 10:11:14 | 显示全部楼层
偶还是喜欢用工具啊 。。。。。。。。。
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
回复

使用道具 举报

发表于 2007 年 5 月 16 日 10:13:45 | 显示全部楼层
进入PMA,选择显示编码UTF-8,导出数据就是UTF-8了。。。。。
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
回复

使用道具 举报

发表于 2007 年 5 月 16 日 10:16:39 | 显示全部楼层

回复 #9 还能注册马.甲么 的帖子


要是几百MB也可以么啊 ?
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|金光论坛

GMT+8, 2024 年 9 月 20 日 16:51 , Processed in 0.103997 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表