1.例如access数据库存入德语"Bildseitenverhältnis",注意这个 ä ,在access表打开看的是正常,但用php连接access显示此字段显示乱码为 Bildseitenverh?ltnis ,我的php页面为utf-8格式, 程序己设置  mysql_query("SET NAMES 'utf8'"); mb_convert_encoding(odbc_result($query,"word"),"UTF-8","GBK"); 这种方法也是显示 Bildseitenverh?ltnis 
iconv("gb2312","utf-8",odbc_result($query,"word")); 这种方法也是显示 Bildseitenverh?ltnis 2.mysql数据库,如果把 Bildseitenverhältnis 真接在phpmyadmin手动插入,然后php读出也是 Bildseitenverh?ltnis,数据库此字段为 utf8_general_ci .在网上找了找,也没找到解决的办法,有遇到这样的情况吗,该怎样解决,谢谢大家!

解决方案 »

  1.   

    第2个己解决,就是php读取access还是乱码!
      

  2.   


    <?php
    if(isset($_POST['text'])){
    $text=$_POST['text'];
    $mysql =new mysqli('localhost','root','root','test');
    $mysql->query("SET NAME 'utf8'");
    $mysql->query("INSERT INTO `test`(`test`)VALUES('$text')");
    $result = $mysql->query("SELECT * FROM `test`");
    while($row =$result->fetch_array()){
    echo $row['test'].'<br/>';
    }
    }
    ?><form method="POST">
    <input type="text" name="text"/>
    <input type="submit" value="submit"/>
    </form>
    在插入数据和读取数据的之前都执行一下SET NAMES, 应该是OK的.
      

  3.   

    access  读出在iconv 也不行?在网上找找看读出来的是什么编码在转换
      

  4.   

    access 读出在iconv 也不行?在网上找找看读出来的是什么编码在转换
      

  5.   

    access数据库显示正常,就是php连接access读出显示乱码,比如access表里正常显示为 Größe ,读出显示后 Gr??e ,就是一些特殊的符号就显示成问号!我拿中文测试了下,可以正常显示,就是其它国家语言的一些特殊字母显示为问号!
      

  6.   

    这个问题我也遇到过,当时是改一个ASP的小网站为PHP遇到的,如果是从ACCESS转移数据到MYSQL,不建议写程序转换,建议使用专门的转换工具:ACCESS数据库转换MYSQL数据库的软件-月光博客
      

  7.   

    ACCESS用ODBC读取时会有一个多字节乱码的问题,我当时是这样解决的:
    while($this->fetch_row($query))
            {
                $articleID[$i]=odbc_result($query,"articleID");
                $articleTitle[$i]=odbc_result($query,"Title");
                $articleContent[$i]=odbc_result($query,"Content");
                $categoryID[$i]=odbc_result($query,"classid");
                $updateTime[$i]=odbc_result($query,"updateTime");
    $articleContent[$i]=$articleContent[$i].odbc_result($query,"Content");
    $articleContent[$i]=$articleContent[$i].odbc_result($query,"Content").odbc_result($query,"Content");
    $articleContent[$i]=$articleContent[$i].odbc_result($query,"Content").odbc_result($query,"Content").odbc_result($query,"Content");
    $articleContent[$i]=$articleContent[$i].odbc_result($query,"Content").odbc_result($query,"Content").odbc_result($query,"Content").odbc_result($query,"Content");
    $articleContent[$i]=$articleContent[$i].odbc_result($query,"Content").odbc_result($query,"Content").odbc_result($query,"Content").odbc_result($query,"Content").odbc_result($query,"Content");
    $articleContent[$i]=$articleContent[$i].odbc_result($query,"Content").odbc_result($query,"Content").odbc_result($query,"Content").odbc_result($query,"Content").odbc_result($query,"Content").odbc_result($query,"Content");
                if(odbc_result($query,"articleID")==81)
                {
                echo $articleContent[$i];
                }            $i++;
            }
    我采取的是多次读取odbc_result的方式完成了数据转换