包含phpsetnamesutf8的詞條

本文目錄一覽:

php mysql_query(“set names utf8”);是什麼意思

mysql中文數據出現亂碼

資料庫採用UTF8編碼,而頁面申明編碼是GB2312,這是最常見的產生亂碼的原因。這時候在PHP腳本裡面直接SELECT數據出來的就是亂碼,需要在查詢前先使用:

mysql_query(“SET NAMES GBK”);或mysql_query(“SET NAMES GB2312”);

來設定MYSQL連接編碼,保證頁面申明編碼與這裡設定的連接編碼一致(GBK是GB2312的擴展)。如果頁面是UTF-8編碼的話,可以用:

mysql_query(“SET NAMES UTF8”); 注意是UTF8而不是一般用的UTF-8。假如頁面申明的編碼與資料庫內部編碼一致可以不設定連接編碼。

$mysql_mylink = mysql_connect($mysql_host, $mysql_user, $mysql_pass);

mysql_query(“SET NAMES ‘GBK'”);

PHP MYSQL亂碼問題,使用SET NAMES utf8校正

先記下,免得以後想不起來又到處去找!

PHP操作資料庫的時候,資料庫中數據使用UTF8編碼,在讀出來的時候,顯示的全是???????問號亂碼,找了一些資料原來是在讀取之前進行一次編碼設置:

複製代碼

代碼如下:

create

table

tablename

(

id

int

not

null

auto_increment,

title

varchar(20)

not

null,

contnet

varchar(300)

defalut

null,

primary

key

(‘id’)

)begin=MyISAM

DEFAULT

CHARSET

=UTF8;

在插入數據之前執行:

複製代碼

代碼如下:

mysql_query(“SET

NAMES

utf8″);

然後

mysql_query(“insert

into

tablename

…..”)

讀出數據之前執行:

複製代碼

代碼如下:

mysql_query(“SET

NAMES

utf8″);

然後

mysql_query(“select

*

from

tablename”)

注意:此處讀出的編碼是把原來編碼的內容重新經過編碼後輸出的,比如輸出內容所在頁面是GBK編碼,那麼在讀出的時候在頁面顯示也為亂碼,所以在查詢之前執行

mysql_query(“SET

NAMES

gbk”),在頁面就可以正常顯示GBK編碼的文字內容

php向mysql表中寫入中文,讀出來是亂碼,編碼set names utf8

set

names

只是告訴資料庫,取出和存入的字元編碼是什麼,與資料庫內部使用什麼編碼儲存沒有關係。

既然你設定了utf8

那麼請檢查

php文件編碼是否是utf8,不是的話使用

header(‘Content-Type:text/html;

charset=utf-8′);

再檢查html頁面編碼是否utf8,不是的話使用

meta

http-equiv=”content-type”

content=”text/html;charset=utf-8″

/

php和mysql資料庫編碼都是utf8,為什麼還要set names utf8???

PHP是一種伺服器端HTML-嵌入式腳本描述語言。 其最強大和最重要的特徵是其資料庫集成層,使用它完成一個含有資料庫功能的網頁是不可置信的簡單。在HTML文件中, PHP腳本程序(語法類似於Perl或者c語言)可以使用特別的PHP標籤進行引用, 這樣網頁製作者也不必完全依賴HTML生成網頁了。由於PHP是在伺服器端執行的, 客戶端是看不到PHP代碼的。 PHP可以完成任何CGI腳本可以完成的任務,但它的功能的發揮取決於它和各種資料庫的兼容性。 PHP除了可以使用HTTP進行通信,也可以使用IMAP, SNMP, NNTP, POP3協議

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/241382.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 12:32
下一篇 2024-12-12 12:32

相關推薦

發表回復

登錄後才能評論