當前位置:首頁 » 數據倉庫 » php連接mysql資料庫設置字元集
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

php連接mysql資料庫設置字元集

發布時間: 2022-07-11 07:34:23

『壹』 php mysql 資料庫 字元集都設置成utf8 寫入資料庫以後還是亂碼,解決再追加分數

在鏈接資料庫後,加一條
//mysql_select_db($dbname);這條之後
mysql_query("set names utf8");
一般就可以了

『貳』 php如何連接mysql

你的代碼是怎麼寫的,貼出來看看,另外你用phpmyadmin連一下你的資料庫試試看看能否成功,如果不成功的話重啟一下你的mysql服務

『叄』 php創建mysql資料庫時候如何設置字元集

我來給你做一個綜合解釋吧。
在正常情況下。
PHP腳本 HTML 已經瀏覽器 然後就是資料庫。
都有自己的字元集。何謂字元集。我想你如果是一個真正想熱衷於學PHP
那麼你應該花一定的時間去了解一下字元集的問題。
因為無論你以後做什麼項目開發什麼網站都是要牽涉到字元集。
就好比我做第一個項目。因為字元集搞的死去活來。
好進入正題。怎麼解決問題呢?
1.PHP的字元集。一般PHP網頁的是嵌套在html頁面以內。那麼如果在沒有沖突的情況下可以使用
header方面設置。比如<?php header ... ?>
2.HTML的字元集,一般是網頁的優先字元集,這個問題是牽涉到你的網站是什麼定位,比如:你的網站僅僅適合國內的客戶。那麼用gbk 或者gb2312.如果想老外也開湊湊熱鬧的話,就用utf-8.至於怎麼設置這個字元集,你可以在<meta>這個標記中看到。
3.資料庫的問題。mysql_query("set names gbk"); 這句話意思就是說,在操作資料庫的時候已這個字元集去讀寫。當然這個字元集要對應你的頁面的字元集哦。
4.瀏覽器。瀏覽器的問題是最萬惡的,因為每個瀏覽器默認的是gb2312.當然不同的瀏覽器是不同的。所以要想成為一名優秀的程序員,寫出優質的代碼。你還得去了解每個瀏覽器的差別。當然目前是不需要的,當然這個問題你慢慢學習。寫代碼的過程中會慢慢了解到的。

你要做的就是將所有使用字元集確保一致性

問題就這些吧,如果有什麼問題可以繼續問哦。凡是對PHP有熱情的人。我都會盡全力幫一下。哈哈。因為這個加物以類聚。還有這個內容絕對不是復制粘貼的。

『肆』 PHP顯示MySQL數據亂碼,字元集設置都是UTF8,資料庫也是UTF8,一直找不到問題在哪裡,代碼見詳細,求大神

php+mysql的utf-8中文亂碼問題的解決方法
問題匯總:
1.mysql資料庫默認的編碼是utf8,如果這種編碼與你的PHP網頁不一致,可能就會造成MYSQL亂碼.
2.MYSQL中創建表時會讓你選擇一種編碼,如果這種編碼與你的網頁編碼不一致,也可能造成MYSQL亂碼.
3.MYSQL創建表時添加欄位是可以選擇編碼的,如果這種編碼與你的網頁編碼不一致,也可能造成MYSQL亂碼.
4.用戶提交頁面的編碼與顯示數據的頁面編碼不一致,就肯定會造成PHP頁面亂碼.
5.如用戶輸入資料的頁面是big5碼, 顯示用戶輸入的頁面卻是gb2312,這種100%會造成PHP頁面亂碼.
6.PHP頁面字元集不正確.
7.PHP連接MYSQL資料庫語句指定的編碼不正確.
使用mysql+php產生亂碼的原因都了解得很清楚了,那麼解決就不困難了.
針對不同問題的解決方法:
1.mysql資料庫默認的編碼是utf8,如果這種編碼與你的PHP網頁不一致,可能就會造成MYSQL亂碼.
修改資料庫編碼,如果是資料庫編碼不正確,可以在phpmyadmin 執行如下命令:
Alter DATABASE 'test' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin

以上命令就是將test資料庫的編碼設為utf8.
2.MYSQL中創建表時會讓你選擇一種編碼,如果這種編碼與你的網頁編碼不一致,也可能造成MYSQL亂碼.
修改表的編碼:
Alter TABLE 'category' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin

以上命令就是將一個表category的編碼改為utf8.
3.MYSQL創建表時添加欄位是可以選擇編碼的,如果這種編碼與你的網頁編碼不一致,也可能造成MYSQL亂碼.
修改欄位的編碼:
Alter TABLE 'test' CHANGE 'dd' 'dd' VARCHAR( 45 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL

以上命令就是將test表中 dd的欄位編碼改為utf8.
4.用戶提交頁面的編碼與顯示數據的頁面編碼不一致,就肯定會造成PHP頁面亂碼.
如果是這種情況容易解決,只需檢查下頁面,修改源文件的charset即可.
5.如用戶輸入資料的頁面是big5碼, 顯示用戶輸入的頁面卻是gb2312,這種100%會造成PHP頁面亂碼.
這種情況也是修改頁面charset即可.
6.PHP頁面字元集不正確.
為了避免PHP頁面亂碼的發生,PHP頁面開始第一句
header("content-type:text/html; charset=utf-8");

//強行指定頁面的編碼,以避免亂碼

7.PHP連接MYSQL資料庫語句指定的編碼不正確.
在連接資料庫的語句中.
mysql_connect('localhost','user','password');

mysql_select_db('my_db');
mysql_query("set names 'utf8'"); //select 資料庫之後加多這一句

『伍』 php中使用mysqli創建資料庫的時候怎麼指定字元集和排序規則

字元集很簡單,但是數據的排序需要通過SQL語句來協助完成,ORDER BY 語句,代碼如下:

//假設你已經成功連接了資料庫($mysqli變數假設為連接的資源句柄)
//通過對象方式設置字元編碼
$mysqli->set_charset('utf8');
//通過函數方式設置字元編碼
mysqli_set_charset($mysqli,'utf8');

//那麼接下來是數據排序的話,需要編寫一條SQL查詢語句(DESC倒序排列|ASC正序排列)
$sql="SELECT`欄位`FROM`表名`WHERETRUEORDERBY`欄位`DESC;";

如果還有什麼問題,歡迎追問~

『陸』 php使用pdo連接mysql資料庫如何設置發送的字元集

和Mysql類裡面的用法一樣,他們只過不過是我們鏈接資料庫的中間橋梁變了,本質並沒有變,還是對資料庫進行操作,而操作的要利用SQL語句,所以這里可以用同樣的mysql語句即可,只不過執行函數變了!在mysql類裡面,我們用mysql_query(「SET NAMES gbk」);設置字元集編碼為gbk啦!在PDO裡面我們用$db->query("SET NAMES gbk");當然也有其他的函數也可以。http://wenku..com/view/57270c36a32d7375a4178002.html這里有網路文庫關於PDO的解釋和簡單使用!