我看了本专题中关于mysql乱码的转贴提到,可以在 select /insert /update之前使用:mysql_query("set character_set ***"); ***为编码,不管我改成什么样的编码形式,都无法显示正常。我下面附上我php文件的部分代码,盼望高手帮助解决 。代码如下:
<?
include("include/conn.php");require("discuz/include/common.inc.php");//判断是否登录
if (($discuz_userss=="")||(!$discuz_userss)) {
message("需要会员身份,请登录","/discuz/logging.php?action=login");
exit;
}.......(这里就是从数据的其他表中提取相应的字段记录)?>

解决方案 »

  1.   

    用 iconv 函数转换编码
      

  2.   

    这个我也试了,把php.ini中的extension=php_iconv.dll前面的分号去掉,然后把php目录下的php_iconv.dll拷贝到system32里面,重启web服务,但是运行php页面提示: unknown():unable to load dynamic libray './php_iconv.dll' - 找不到指定的模块。以前加这种.dll的文件都是这么办的,怎么这次就出错了呢??
      

  3.   

    可能放错地方了,放在windows下试试
      

  4.   

    1、“把php.ini中的extension=php_iconv.dll前面的分号去掉,然后把php目录下的php_iconv.dll拷贝到system32里面,重启web服务,但是运行php页面提示: unknown():unable to load dynamic libray './php_iconv.dll' - 找不到指定的模块。”
    php_iconv.dll ICONV 字符集转换 需要:iconv-1.3.dll(已附带),PHP >=4.2.1 需要 iconv.dll 
    文件在php\dlls目录下,请复制到system32里面
    php_iconv.dll不需要复制2、“从数据库调出来数据的php文件,头部包含了一个discuz!的配置文件,那个文件中包含编码的设置,(去掉这个包含,提取出来的数据可以显示正常)。”
    既然是“去掉这个包含,提取出来的数据可以显示正常”,那么就不要该文件中的“编码的设置”
      

  5.   

    不复制php_iconv.dll,只复制iconv.dll还是出错,我把这两个文件都复制到system32下就OK了!