在下一台在国外的服务器,是Linux英文版的,在部分网页程序上往mysql数据库中插入,更新中文数据的时候,不管输入什么,都会变成个?问号.输入几个字符,变几个问号.环境:
Linux:Centos5.2英文版
php:5.0
mysql:5.0
网页文件编码:UTF-8
mysql字符集:UTF-8 Unicode (utf8) 
链接校对:utf8_unicode_ci在下的测试结果是,在没有在mysql的查询语句前加入mysql_query("SET NAMES UTF8")的,皆会出现显示的错误.在不加mysql_query("SET NAMES UTF8")这句的前提下,是有办法可以解决显示问题的,我想,或许是mysql.cnf或者php.conf等配置文件中编码格式的设置不当,或者我的mysql字符集的设置不当.请教各位高手,如何解决这问题!?

解决方案 »

  1.   

    检查一下数据库的编码,show variables like 'character_set_%';
      

  2.   

    朋友,结果是:
    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  /usr/share/mysql/charsets/
    有什么异常吗?
      

  3.   

    要修改character_set_database也为utf8
    alter database default character set utf8;
    character_set_server也要改成utf8;
    set global character_set_server=utf8;
      

  4.   

    还是没解决,没有加mysql_query("SET NAMES UTF8")就会变成个?问号...
    所以我不喜欢用mysql5.0...字符方面的规矩太多了...
      

  5.   

    用中文的linux就没事.改到英文就出问题...