PHP查詢mysql,中文資料,通過不同方式添加的相同資料竟然顯示不同解決方案

來源:互聯網
上載者:User
PHP查詢mysql,中文資料,通過不同方式添加的相同資料竟然顯示不同
hi,
我先說下我的情況。php的新手。
----現象
輸出的頁面中,我已經添加了,我也在查詢mysql的時候,添加了
mysql_query("set character set utf8");
mysql_query("SET NAMES 'UTF8'");
有的中文可以顯示,有的不能。

----亂碼顯示的過程和代碼
我的phpmyadmin中資料庫和text欄位,都是用 utf8_unicode_ci進行設定。

我手動通過phpmyadmin在資料庫添加的中文,然後直接執行
mysql_query("set character set utf8");
mysql_query("SET NAMES 'UTF8'");
$rs = $db->query("SELECT * FROM book");
顯示出亂碼。

----正常顯示的代碼和意外的結果
mysql_query("set character set utf8");
mysql_query("SET NAMES 'UTF8'");
$rs2 =$db->exec("INSERT INTO `lalabook`.`book` (`bookname`, `bookdes`) VALUES ('小兵', '兵小')");
$rs = $db->query("SELECT * FROM book");
可以正常的顯示出我插入的資料。但是有個問題是,我在通過phpmyadmin查看我插入的資料時,顯示的時亂碼。
----
所以我不清楚這個時什麼原因造成的,是不是我以後插入資料都要通過代碼。不能再用phpmyadmin插入了


------解決方案--------------------
在phpmyadmin 內直接執行 SET NAMES 'UTF8' 然後再SELECT ....出來的結果呢?
phpmyadmin也是需要設定連結編碼的.
------解決方案--------------------
是不是檔案本身的編碼有問題
------解決方案--------------------
是虛擬機器主機吧, 一切都是正常的.

使用者提交Utf8,php操作入庫,出庫就可以了。

phpadmin亂碼是因為mysql_server編碼一般服務商都是latin的,但服務商一般都保證connenct/client/result是utf8的,也就是資料出入的編碼是utf8,儲存的時候是latin,所以去phpadmin看php操作的會亂碼。

另外,在phpadmin裡執行sql插入的資料,在php讀取的時候會亂碼,這個問題是很神奇的,我也沒看phpmyadmin頁面是什麼編碼。

一句話:設定庫,表,列的編碼全部是utf8-unicode-ci,之後資料的出入庫都採用utf8編碼,不要在意phpadmin查資料時候亂碼,不會影響使用者即可。
------解決方案--------------------
編碼常用的是utf8-general-ci
不只是表要通一,要統一的總共有四處
一是:資料庫類型,其中包括,資料庫,表,欄位三處都要統一,可以檢查一下
二是:檔案的編碼類別型,你若用dw或editplus可以查看頁面編碼,不同需修改
三是:訪問資料庫時的設定既set NAMES utf8;
四是:瀏覽器顯示方式,既
這四處必需統一,否則可能會出現問題
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.