这个问题很奇怪,我同样的数据库连接代码 在一个服务器上存储的中文数据都是乱码。别的机器上都是正常
c++连接
conn_[i].set_option(new mysqlpp::SetCharsetNameOption("utf8")); //zhongwen cunchu
设置utf8连接,数据库字符集是UTF8的校对utf8_general_ci,表同样的设置。但在一个数据库里就是无法正常显示中文很是郁闷。有没有大神碰到过

解决方案 »

  1.   

    对比下服务器上的字符集设置show variables like '%char%';
      

  2.   

    set names 'gbk';
    然后再试。中文显示乱码">http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
    MySQL 中文显示乱码
      

  3.   


    2. 确保,联接参数与这个字段字符集一致,你可以用 set name 'charsetname'; 
     比如, set name 'gbk';
     这条命令会同时修改 character_set_client,character_set_connection,character_set_results
     (如果你的这架MySQL中都为中文,则你可以在my.ini或my.cnf中加上或修改这个参数, 参数文件修改后需重启MySQL服务)
    [mysql]
    default-character-set=gbk 请问我要修改其他 set name 呢 ?
      

  4.   

    我现在SET character_set_database=utf8后重启数据库结果被还原了 
      

  5.   

    我在my.cnf里改了default-character-set = utf8 现在数据库现在是不是一定要重启数据库,这个设置才有作用。
      

  6.   

    cnf 文件中做的修改,需要重启MYSQL后才会生效。
      

  7.   

    你可以在连接mysql数据库连接的时候就加上字符characterEncoding=utf8
      

  8.   

    或者你也可以对你mysql的数据库或者表,或者字段进行一下设置