我的网站是和手机充值有关的,首先在网站首页index.htm输入手机号码,通过外部网站的js文件http://api.showji.com/Locating/Query.js和ajax获取手机的所在省份(首页用的是utf-8编码,因为提供手机归属信息的网站用的utf-8,我不用utf-8的时候省份就显示乱码);
在首页里面添加一个隐藏域hidProvince,他的值等于省份(例如hidprovince.value=山东)然后利用拿到的省份,在自己的数据库查询已经开通的面值,是通过post提交到自己网站的get.php页面查询,如果get.php使用utf-8编码的话,查不到任何信息。数据库的编码也是utf-8编码的,怎么会这样呢?我自己随便弄了几个网页测试,只有网页编码用gb2312的时候才可以查询到信息并且不是乱码。 但是如果我的网页都换成gb2312的话,首页获取的省份就是乱码,下面的步骤就更不能进行了。请教一下:网页和数据库都是utf-8为什么 使用中文 检索不到信息呢?(数据库里面的汉字都是在phpmyadmin输入的)
有啥解决方式吗?

解决方案 »

  1.   

    查询之前,mysql_query("set names utf8")一下试试。
      

  2.   

    1.数据库是utf-8 ,my.ini 的charset是utf8,网页编码是utf-8,通过网页向数据库内写入的中文显示 乱码,因为数据库内是乱码,所以用utf-8编码的网页检索数据根本找不到记录;
    2.数据库是utf-8 ,my.ini 的charset是utf8,网页编码是gb2312,通过网页向数据库内写入的中文显示 正常显示,用gb2312的网页可以检索出数据,但是用utf-8的网页检索不到数据。我网站想统一用utf-8的编码,怎么办啊?
      

  3.   

    1.文件编码 utf-8
    2.页面编码 utf-8 (php header > apache > html meta)
    3.mysql  
    show variables like '%char%';
    client,connect,results->utf8(like what mysql_query('set names "utf8"') do)
      

  4.   

    知道了 应该些 set names utf8  我以前都写的utf-8所以出错