mysql本地调试正常,上传空间后变成乱码,中文都变成了“??”,请各位大侠指教!

解决方案 »

  1.   

    字符集设置的问题。http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
    MySQL 中文显示乱码
      

  2.   

    在你的空间上的MYSQL数据库中 (t1 改成你自己的表名!)show create table t1;
    show variables like 'char%';查看一下相关的信息。
      

  3.   

    用show variables like 'char%'; 
    查看本地仅有2项,分别为:
    character_set latin1
    character_sets latin1 big5 czech euc_kr gb231
    查看空间有8项,分别为:
    | character_set_client     | utf8
    | character_set_connection | utf8
    | character_set_database   | latin1
    | character_set_filesystem | binary
    | character_set_results    | utf8
    | character_set_server     | latin1
    | character_set_system     | utf8
    | character_sets_dir       | D:\mysql\mysql-5.0.15b\shar以上情况如何修改,需要修改本地mysql的设置吗?
      

  4.   

    很显然,你空间上默认的是 utf8, 还有一步为什么你不肯提供信息? show create table t1; ?? 保密?
      

  5.   

    没有保密。主要是要敲打很多字,又以为不是很关键。
    用show create table male2;
    在本地显示‘id' int<11> NOT NULL auto_increment,
    'shuangm' varchar<50> default NULL,
    PRIMARY KEY <'Id'>
    > TYPE=myisam
    在远端不知道如何显示。
    之前show variables like 'char%';是通过本地navicat工具显示,show create table male2;该查询在navicat显示没有结果。
      

  6.   

    请问,我本地是不是也要设置成utf8,如果是,如何设置呢?
      

  7.   

    show create table male2;建议你贴全,按理说应该是如下格式。 关键要看的就是那个 DEFAULT CHARSET=latin1 |
    mysql>  show create table t1;
    +-------+---------------------------------
    | Table | Create Table+-------+---------------------------------
    | t1    | CREATE TABLE `t1` (
      `id` int(11) NOT NULL,
      `col` int(11) DEFAULT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 |
    +-------+---------------------------------
    1 row in set (0.13 sec)mysql>
      

  8.   

    确实是显示到
    > TYPE=myisam 
    这里为止,后面就没有了,尤其是没有DEFAULT CHARSET=latin1 | 
    请问问题出在哪,怎样解决啊?
      

  9.   

    用show create table male2;
    在空间显示如下:
    CREATE TABLE `male2` (
      `Id` int(11) NOT NULL auto_increment,
      `shuangm` varchar(50) default NULL,
      PRIMARY KEY  (`Id`)
    ) ENGINE=MyISAM AUTO_INCREMENT=806 DEFAULT CHARSET=utf8
      

  10.   

    你空间上是 utf8, 1。直接在你空间上的mysql 上 select * from male2 看看是否正常?确保你的表中存在的是正确的信息。
    2。如果不正常,建议你先insert 一条,然后看是否正确。如正确,则建议你重导一下你的数据。
      

  11.   

    male2这张表空间供应商已经帮我导进去了,我现在想了解的是我从自己电脑上导入空间为什么不正常,请指教!
      

  12.   

    你自己表上用的字符集和空间的不一样。不过这只是个猜测,因为不知道,你具体是如何导的?如果用mysqldump 导出的,则不应该出这种问题。
      

  13.   

    刚才又导了一张表
    用show create table male2;
    在空间里显示

    DEFAULT CHARSET=latin1 
      

  14.   

    1. 先不管一样不一样,根据实际的需求设置你的字符集。一般来说,如果有中文,则应该选择 gb2312,gbk 或 utf8
    2. 如果你不修改空间上的mysql配置,那就按照空间上的设置配置你本地的mySQLshow variables like 'char%';  在你本地只有两项,这非常奇怪,你的mysql版本是什么?如果不一样,建议重装一个与空间上相同的 select version(); 你可以看到版本在你的my.ini 文件中加上 default-character-set=lxxx (改成和你空间的相同
      

  15.   

    我在本地电脑已重新安装了mysql,版本为5.0.19-nt,空间mysql版本为5.0.72-enterprise-gpl-nt-log用show variables like 'char%'; 
    查看本地有8项,分别为:
    | character_set_client    | utf8 
    | character_set_connection | utf8 
    | character_set_database  | gb2312 
    | character_set_filesystem | binary 
    | character_set_results    | utf8 
    | character_set_server    | latin1 
    | character_set_system    | utf8 
    | character_sets_dir      | E:\..... 查看空间有8项,分别为: 
    | character_set_client    | utf8 
    | character_set_connection | utf8 
    | character_set_database  | latin1 
    | character_set_filesystem | binary 
    | character_set_results    | utf8 
    | character_set_server    | latin1 
    | character_set_system    | utf8 
    | character_sets_dir      | D:\mysql\mysql-5.0.15b\shar 用show create table male2;
    查看本地和空间一样,均如下:
    CREATE TABLE `xiaom` (
      `id` int(11) NOT NULL default '0',
      `xiaom` varchar(50) character set utf8 default NULL,
      PRIMARY KEY  (`id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=gb2312请教大侠,原因是出在 character_set_database不一致吗,如何修改设置?
      

  16.   

    如果表一级的 DEFAULT CHARSET=gb2312 已经相同了,则 character_set_database 则没有关系了。你set names 'gb2312'; 试一下。
      

  17.   

    真的非常感谢ACMAIN_CHM持续不断地给我解答。现在已经基本上可以显示中文,但是还是有个别中文被乱码代替了比如:‘?h’,不知如何解决?
      

  18.   

    这是个什么字? 不行的话,你改成 set names 'gbk';
      

  19.   

    已解决了,可能是上传工具的问题,真的非常感谢ACMAIN_CHM大侠,再次感谢!