解决mysql4.0.17导出乱码有关问题

解决mysql4.0.17导出乱码问题

我将mysql4.0.17中的数据进行备份,导出的中文数据为乱码,由于重装系统原来的数据库删除了,就留下了备份的数据库文件,重新安装mysql4.0.17后进数据倒入数据库,访问jsp页面时中文都是乱码。jsp页面编码是gb2312,数据库编码是默认的。下面是部分的备份数据库:

    —   MySQL   Administrator   dump   1.4



—   ——————————————————

—   Server   version 4.0.17-nt

/*!40101   SET   @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT   */;

/*!40101   SET   @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS   */;

/*!40101   SET   @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION   */;

/*!40101   SET   NAMES   utf8   */;

/*!40014   SET   @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS,   UNIQUE_CHECKS=0   */;

/*!40014   SET   @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS,   FOREIGN_KEY_CHECKS=0   */;

/*!40101   SET   @OLD_SQL_MODE=@@SQL_MODE,   SQL_MODE= ‘NO_AUTO_VALUE_ON_ZERO ‘   */;

DROP   TABLE   IF   EXISTS   `myroad_branch`;

CREATE   TABLE   `myroad_branch`   (

    `id`   bigint(20)   NOT   NULL   auto_increment,

    `name`   varchar(255)   NOT   NULL   default   ‘ ‘,

    PRIMARY   KEY     (`id`),

    UNIQUE   KEY   `name`   (`name`)

)   TYPE=InnoDB;



—   Dumping   data   for   table   `myroad`.`myroad_branch`

/*!40000   ALTER   TABLE   `myroad_branch`   DISABLE   KEYS   */;

INSERT   INTO   `myroad_branch`   (`id`,`name`)   VALUES  

  (1, ‘ÊÐÕþÉè¼ÆÒ»´¦ ‘),

  (2, ‘ÊÐÕþÉè¼Æ¶þ´¦ ‘),

  (8, ‘ÑÒÍÁÊÒ ‘),

  (4, ‘°ì¹«ÊÒ ‘),

  (5, ‘²ÆÎñÊÒ ‘),

  (3, ‘¹«Â·Éè¼Æ´¦ ‘),

  (9, ‘¾­Óª´¦ ‘),

  (6, ‘¾­¼ÃÊÒ ‘),

  (7, ‘×ܹ¤°ì ‘);

/*!40000   ALTER   TABLE   `myroad_branch`   ENABLE   KEYS   */;



MySQL默认编码是latin1。。。

你在运行SQL语句前先执行

set names gb2312




系统的默认值是latin1的瑞典语排序方式

当按照原来的方式通过PHP存取MySQL数据库时,就算设置了表的默认字符集为utf8并且通过UTF-8编码发送查询,会发现存入数据库的仍然是乱码。问题就出在这个connection连接层上。

解决方法是在发送查询前执行一下下面这句:

SET NAMES ‘utf8 ‘;

它相当于下面的三句指令:

SET character_set_client = utf8;

SET character_set_results = utf8;

SET character_set_connection = utf8;

在查询前加一行:

mysql_query( “SET NAMES ‘gb2312 ‘; “,$this-> con);



mark

解决mysql4.0.17导出乱码有关问题

相关文章:

你感兴趣的文章:

标签云: