数据输出时,想只转换谋一个表谋个字段的编码,select语句该怎样写啊?那个输出语句怎样写

解决方案 »

  1.   


    一定要在SQL语句中写吗???可以在Php用iconv或mb_convert_encoding函数进行转换的啊???
      

  2.   


    iconv的:
    <?php
    $string="";//你查出来的数据,也就是需要转换编码的内容
    $a="GBK";//你原来数据的编码,这里以GBK编码为例
    $b="UTF-8";//你输出的编码,也就是目标编码,这里以UTF-8为例
    $str=iconv($a,$b,$string);//转换
    echo $str;//输出
    ?>mb_convert_encoding差不多,但是它不需要指定原来的编码:<?php
    $string="";//你查出来的数据,也就是需要转换编码的内容
    $b="UTF-8";//你输出的编码,也就是目标编码,这里以UTF-8为例
    $str=mb_convert_encoding($string,$a);//转换
    echo $str;//输出
    ?>
      

  3.   

    上面的最后一个方法省略了内部了编码可能不正确
    如果是中文的gb2313,可能内部编码是iso的
      

  4.   

    string iconv ( string in_charset, string out_charset, string str )<?php
    echo iconv("ISO-8859-1", "UTF-8", "This is a test.");
    ?> 
      

  5.   


    4楼的问题是可以通过mb_convert_encoding的第三个参数指定原来的编码的,要解决,就是指定第三个参数。
      

  6.   


    在查询前,执行:mysql_query("set names gbk");//如果是其它,就用utf8,要不把那个表的编码改回来不就可以了??
      

  7.   

    在查询前,执行mysql_query("set names gbk");了,也把表的编码改回来了,但原来是乱码的仍然还是乱码,新添加数据就正常
      

  8.   

    set names ***执行完后,在恢复原来的编码
    再一次set names ***