设为首页 - 加入收藏 湛江站长网(0759zz.Com) - 湛江互联网开发者聚焦之地 技术研讨、交流平台!
热搜: 站长之家 facebook 产品运营 微软
当前位置: 首页 > 教程 > 正文

Mysql以utf8存储gbk输出的实现

发布时间:2016-05-24 22:18 所属栏目:[教程] 来源:网络整理
导读:一个站有可能经历gb2312(gbk,big5)到utf8的转换过程,其中会遇到很多的问题。站点太庞大了怎么办呢,只能一步步来了。要是能在极少改动前端代码的情况下,先完
一个站有可能经历gb2312(gbk,big5)到utf8的转换过程,其中会遇到很多的问题。站点太庞大了怎么办呢,只能一步步来了。要是能在极少改动前端代码的情况下,先完成数据的转换将会使整件事情容易得多。经过几天测试终于发现,Mysql以utf8存储gbk输出是可以实现的。mysql4.1后都有个特性,可以指定当前客户端连接所使用的字符集,mysql默认都是latin1,或由mysql server端配置的字符集进行连接校对。我使用utf8_general_ci来创建字段。

DB:

SQL代码:

程序代码

  Create TABLE `table` (

  `id` INT( 10 ) NOT NULL ,

  `name` VARCHAR( 50 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,

  INDEX ( `g_id` ) 

  ) ENGINE = innodb CHARACTER SET utf8 COLLATE utf8_general_ci;

PHP:

存储操作指定使用utf8字符集进行连接校对,读取操作指定使用gbk字符集进行连接校对。

PHP代码:

程序代码

  <?php

  //  Select  DB  And  Set  Link  Use  UTF8

  function  _select_db_utf()

  {

  mysql_select_db($this->db_name,  $this->db_link);

  //  init  character

  mysql_query("SET  NAMES  utf8",  $this->db_link);

  mysql_query("SET  CHARACTER  SET  utf8",  $this->db_link);

  mysql_query("SET  COLLATION_CONNECTION=’utf8_general_ci’",  $this->db_link);

  return  true;

  }

  //  Select  DB  And  Set  Link  Use  GBK

  function  _select_db_gb()

  {

  mysql_select_db($this->db_name,  $this->db_link);

  //  init  character

  mysql_query("SET  NAMES  gbk",  $this->db_link);

  mysql_query("SET  CHARACTER  SET  gbk",  $this->db_link);

  mysql_query("SET  COLLATION_CONNECTION=’gbk_chinese_ci’",  $this->db_link);

  return  true;

  }

  ?>

(编辑:湛江站长网 0759Zz.Com)

网友评论
推荐文章
金亚洲投注