WINDOWS环境APACHE2.2+PHP5+MYSQL
$newestBooks = DB_DataObject::factory("books");
.......
$newestBooks->find();
数据库与PHP文件全是UTF8编码,但查询数据库的操作被PEAR封装了。现在汉全部字显示为问号(???)
如果不用PEAR可以用mysql_query(“set names ‘utf8’“)
请问有什么方法可以使编码一致?或者消除乱码!

解决方案 »

  1.   

    可以写个转 utf-8的 函数
      

  2.   

    问题是现在并不知道数据库查询得到的是什么编码的。
    而且是否在查询过程中出现从UTF8到其他字符集的转换,有没有造成丢失。
      

  3.   

    可以这样子用:
    $newestBooks   =   DB_DataObject::factory("books"); 
    $newestBooks->Query("set names utf8")
      

  4.   

    可试试楼上的!
    set   names   utf8
    是数据库操作,无论用环境都可调用
    但能否集成在类里使用不清楚!
    偶曾做过数据库连接函数,将其集成在数据库连接函数里,没有成功,但单独做成函数调用成功!
      

  5.   

    可以写个转   utf-8的   函数