php mysql編碼 PHP Mysql編碼問題

2021-10-19 06:13:01 字數 1038 閱讀 3015

這幾天搞了個php讀取excel表再讀入mysql的東西,但是被其中的中文亂碼搞暈了。

通過上網翻閱不少帖子之後,思路清晰了不少,以此記錄下來學習學習

需要在幾個地方設定編碼為utf8

瀏覽器器端設定 utf8

php:

.在語句最開頭加入 

或.在php語句中加入 header("content-type:text/html;charset=utf-8");

讀取excel表:

//$data->setoutputencoding("utf-8");

phpexcel中支援,不用加了

mysql中:

開啟my.ini以後,在[client]和[mysqld]下面均加上default-character-set=utf8,儲存並關閉,試過無效

1.所以:建資料庫時設定編碼為utf8,該庫中的表預設也就是utf8編碼了

create/alter database `db_name` default character set utf8 collate utf8_general_ci;

更改表同理:也可以在建表語句後面加上 engine=innodb default charset=utf8;

檢視表:mysql> show create table tablename;

2.1 在php中加入一條 mysql_query("set names utf8")

set names utf8  等價於以下三條語句

客戶端:set character_set_client='utf8';

聯結器:set character_set_connection='utf8';

返回值:set character_set_results='utf8';

2.2 在php中加入一條 mysql_qurey("set character set utf8")

相當於2中set character_set_connection='utf8'; 連線資料庫時的編碼

建庫的時候不設定預設編碼以後再改的時候表字段的編碼還是預設的 latin1

php mysql設定編碼格式

當我們通過php訪問mysql資料庫時,就算設定了表的預設字符集為utf8,並且通過utf 8編碼傳送查詢,你會發現存入資料庫的仍然是亂碼。問題就出在connection連線層上。解決方法是在傳送查詢前執行一下下面這句 1.set names utf8 它相當於下面的三句指令 set charact...

wampserver無法進入到phpmyadmin

當你在製作個人部落格wordpress時,按照教程來做似乎一切都沒有問題,但是當你進入到phpmyadmin時卻出現如下圖所示的 的狀況 cfg servers i user root cfg servers i password 要是你的上面顯示的是using password no則你需要在上面...

php mysql 初學 初學PHP MySQL

php echo print 都能輸出文字 date format,timestamp 可以格式化時間戳 mktime 可以返回指定日期的時間戳 include filename 或者 require filename 可以包含另外的php檔案,就像c中包含別的庫一樣 fopen fclose 用來...