我租了个空间,在他的管理页面上建了一个mysql的数据库,建库时只让设置了用户的密码和库名,其它都没让设,建好后
在库里建了1个表,建库脚本如下,用phpMyAdmin插入中文是正常的,但用页面读出来就是乱码,请问这个需要改什么呢?
我从phpMyAdmin的默认页面看到的是:
------------------------------------
服务器版本: 4.1.20
Protocol version: 10
服务器: Localhost via UNIX socket
MySQL 字符集: cp1252 West European (latin1) //会不会是这里的问题?(这个是不是空间里提供的MySql的默认字符集?我没找到修改的地方)
MySQL 连接校对:  整理   utf8_general_ci    //这里设为这个有没有问题,因为在本地Collection我都是不选的(用mysql-front客户端)
创建一个新的数据库: 无权限 
-------------------------------------
下面是建表的脚本:
CREATE TABLE `userinfo` (
  `id` int(11) NOT NULL auto_increment,
  `UserName` varchar(100) NOT NULL,
  `Psw` varchar(30) NOT NULL,
  `RealName` varchar(30) NOT NULL,
  `CreatTime` date default NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户信息表';
--------------------------------------
建表的时候指定了charset为utf8
我是第1次在租用的空间上搞mysql,所以也不知道咋回事,原来在本地或自己部署的环境时,只要建库时用utf-8,建表时默认就是utf-8,页面上读取时再用utf-8,中文就没有问题
谢谢!

解决方案 »

  1.   

    1、在登录PhpMyAdmin时,就设置编码为UTF-8
    2、把MySQL字符集的编码改掉,改为UTF-8的(联系空间商),这个最好可以改得了
    3、读取时,也是UTF-8编码的如果都不行,你自己写一个页面,连接到数据库,在连接数据库(connect)后查询(query)前执行mysql_query("set names gbk");,看看自己写的可不可以正常读取
      

  2.   

    不好意思,我没说明,我用的是java,页面是jsp
    空间商的mysql不是针对所有用户的吗?恐怕他不会给我一个人改mysql的字符集吧
      

  3.   

    我的空间用PhpMyAdmin进去后可以改编码的
    建议和空间商协商一下
      

  4.   

    首先资询空间商支持不支持utf8,mysql4.1以下的不支持,和空间商确认
    第二:如果你建表的sql能成功执行,,则说明支持utf-8
    这样的话,你查询时,看客户端和你的PHP文件的编码,如果是utf8,则mysql_query("set names 'utf8'");
    其他类推
      

  5.   

    无所谓吧?只要编码一致就可以了你的phpmyadmin选择的语言是utf-8的么?
      

  6.   

    mysql_connect($dbhost,$dbuser,$dbpass) or die ('');
    mysql_query("set names gbk");
      

  7.   

    楼主用的JSP,你的页面输出的字符集设置呢~~
      

  8.   

    要么将页面的编码设置为UTF-8,数据库的也设为一样,,绝对出不了错的.
      

  9.   

    圣诞节到了,大家快来许个愿吧.博主在此欢迎你们的光临!昵友们,一起许个愿祝福他们!  大家都去许个愿,因些版本正在测试中,有较多缺点,请大家指正,如果有高级美工设计师,请帮忙给处理下美工,让我们心中的他或她幸福吧! 祝福地址:http://www.itgoto.com.cn/wish/ 
    如果你有兴趣也可以在我的博客里面留言哦.记得我哦.祝福你们想要祝福的人吧.愿他/她们都美好! 博客地址:http://www.itgoto.com.cn/ 论坛地址:http://www.itgoto.com.cn/bbs 请大家多多支持,点点广告,让你梦想成为现实 
      

  10.   

    顶一下楼主!顺便问个问题!为什么我电脑上的PhpMyAdmin不支持gb2312, 我把数据存入时,是以gb2312存入的,全显示问号!
      

  11.   

    1建表时请择字符集,或utf8或gbk,大概crate table.....defaut charset=gbk; 
    2向数据库建立连接时,告诉这个连接使用字符集 大概 set names 'gbk'或...
    3显示数据时,浏览器同数据库编码不一样请转换字符集再输出到浏览器,反之如使用ajax非utf-8必须转换字集再放入数据库就这三步外没有东西了