加入收藏 | 设为首页 | 会员中心 | 我要投稿 济南站长网 (https://www.0531zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

Mysql以utf8存储gbk输出的实现

发布时间:2016-09-04 15:43:42 所属栏目:MySql教程 来源:站长网
导读:一个站有可能经历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;

  }

  ?>

(编辑:济南站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读