php設(shè)置數(shù)據(jù)庫(kù)編碼及 php數(shù)據(jù)庫(kù)代碼

mysql數(shù)據(jù)庫(kù)和PHP頁(yè)面都是怎樣設(shè)置編碼的?共有幾處需要統(tǒng)一才不會(huì)出問(wèn)題。我希望全部統(tǒng)一,在哪里才設(shè)置

mysql 連接時(shí)設(shè)置傳輸編碼 set names XX(編碼) php 頁(yè)面設(shè)置 header("Content-type: text/html; charset=xx"); 另,數(shù)據(jù)庫(kù)字段編碼統(tǒng)一,文件編碼統(tǒng)一,html編碼統(tǒng)一

創(chuàng)新互聯(lián)公司于2013年開(kāi)始,先為嵐皋等服務(wù)建站,嵐皋等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為嵐皋企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。

php連MySQL數(shù)據(jù)庫(kù)編碼問(wèn)題

也許是數(shù)據(jù)庫(kù)的問(wèn)題,我也遇到過(guò),我用的是wampserver,界面的工具,直接點(diǎn)鼠標(biāo)就可能建成mysql數(shù)據(jù)庫(kù),建成后導(dǎo)入數(shù)據(jù),查詢數(shù)據(jù)庫(kù)返回面而的是亂碼,我遇到的情況是這樣的:

1、建庫(kù)用gbk,如圖。

2、導(dǎo)入表及數(shù)據(jù)時(shí),默認(rèn)是utf,此處要改成gbk就不是亂碼了,如第圖底頁(yè)面,如果是默認(rèn)的或是其它的字符集,能導(dǎo)入成功但是亂碼。另外直接把sql粘貼到sql窗口,也不是亂碼。

希望能幫到你,呵呵~

php怎么設(shè)置編碼

header("Content-type: text/html; charset=utf-8");

另外你的編輯器編碼也要對(duì)應(yīng)哦

a. 如果欲使用gb2312編碼,那么php要輸出頭:header(“Content-Type: text/html; charset=gb2312"),靜態(tài)頁(yè)面添加meta http-equiv="Content-Type" content="text/html; charset=gb2312",所有文件的編碼格式為ANSI,可用記事本打開(kāi),另存為選擇編碼為ANSI,覆蓋源文件。

b. 如果欲使用utf-8編碼,那么php要輸出頭 :header(“Content-Type: text/html; charset=utf-8"),靜態(tài)頁(yè)面添加meta http-equiv="Content-Type" content="text/html; charset=utf-8",所有文件的編碼格式為utf-8。

最近需要用到iconv函數(shù)把抓取來(lái)過(guò)的utf-8編碼的頁(yè)面轉(zhuǎn)成gb2312, 發(fā)現(xiàn)只有用iconv函數(shù)把抓取過(guò)來(lái)的數(shù)據(jù)一轉(zhuǎn)碼數(shù)據(jù)就會(huì)無(wú)緣無(wú)故的少一些。 讓我郁悶了好一會(huì)兒,去網(wǎng)上一查資料才知道這是iconv函數(shù)的一個(gè)bug。iconv在轉(zhuǎn)換字符"—"到gb2312時(shí)會(huì)出錯(cuò)。解決方法很簡(jiǎn)單,就是在 需要轉(zhuǎn)成的編碼后加 "http://IGNORE" 也就是iconv函數(shù)第二個(gè)參數(shù)后,如下:

iconv("UTF-8","GB2312//IGNORE",$data)

ignore的意思是忽略轉(zhuǎn)換時(shí)的錯(cuò)誤,如果沒(méi)有ignore參數(shù),所有該字符后面的字符串都無(wú)法被保存。

PHP編碼問(wèn)題:數(shù)據(jù)庫(kù)中的字符集編碼。。。。。

流行的關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)都支持?jǐn)?shù)據(jù)庫(kù)字符集編碼,也就是說(shuō)在創(chuàng)建數(shù)據(jù)庫(kù)時(shí)可以指定它自己的字符集設(shè)置,數(shù)據(jù)庫(kù)的數(shù)據(jù)以指定的編碼形式存儲(chǔ)。當(dāng)應(yīng)用程序訪問(wèn)數(shù)據(jù)時(shí),在入口和出口處都會(huì)有字符集編碼的轉(zhuǎn)換。對(duì)于中文數(shù)據(jù),數(shù)據(jù)庫(kù)字符編碼的設(shè)置應(yīng)當(dāng)保證數(shù)據(jù)的完整性。GB2312、GBK、UTF-8 等都是可選的數(shù)據(jù)庫(kù)字符集編碼;當(dāng)然我們也可以選擇 ISO8859-1 (8-bit),只是我們得在應(yīng)

用程序?qū)憯?shù)據(jù)之前先將 16Bit 的一個(gè)漢字或 Unicode 拆分成兩個(gè) 8-bit 的字符,讀數(shù)據(jù)之后也需要將兩個(gè)字節(jié)合并起來(lái),同時(shí)還要判別其中的 SBCS 字符,因此我們并不推薦采用 ISO8859-1 作為數(shù)據(jù)庫(kù)字符集編碼。這樣不但沒(méi)有充分利用數(shù)據(jù)庫(kù)自身的字符集編碼支持,而且同時(shí)也增加了編程的復(fù)雜度。編程時(shí),可以先用數(shù)據(jù)庫(kù)管理系統(tǒng)提供的管理功能檢查其中的中文數(shù)據(jù)是否正確。

PHP 程序在查詢數(shù)據(jù)庫(kù)之前,首先執(zhí)行 mysql_query("SET NAMES xxxx"); 其中 xxxx 是你網(wǎng)頁(yè)的編碼(charset=xxxx),如果網(wǎng)頁(yè)中 charset=utf8,則 xxxx=utf8,如果網(wǎng)頁(yè)中 charset=gb2312,則xxxx=gb2312,幾乎所有 WEB 程序,都有一段連接數(shù)據(jù)庫(kù)的公共代碼,放在一個(gè)文件里,在這文件里,加入 mysql_query("SET NAMES xxxx") 就可以了。

SET NAMES 顯示客戶端發(fā)送的 SQL 語(yǔ)句中使用什么字符集。因此,SET NAMES 'utf-8' 語(yǔ)句告訴服務(wù)器“將來(lái)從這個(gè)客戶端傳來(lái)的信息采用字符集 utf-8”。它還為服務(wù)器發(fā)送回客戶端的結(jié)果指定了字符集(例如,如果你使用一個(gè) SELECT 語(yǔ)句,它表示列值使用了什么字符集)。

不知道這資料是不是你說(shuō)的那些。呵呵~~~

如何具體設(shè)置 php mysql 的編碼統(tǒng)一啊 我搜了些設(shè)置弄上,但怎么都不行

PHP編碼你用UTF-8,數(shù)據(jù)庫(kù)你也用UTF-8啊。

查詢數(shù)據(jù)庫(kù)的時(shí)候加上這句

mysql_query('set

names

utf8')

php訪問(wèn)mysql數(shù)據(jù)庫(kù)時(shí),讀出的數(shù)據(jù)是問(wèn)號(hào)!如何解決,設(shè)置的編碼方式是utf-8

兩邊入手,

PHP,需要設(shè)置頁(yè)面編碼,加一行代碼:

header('Content-Type:text/html;charset=utf-8');

這樣就把輸出編碼改為了UTF-8

但是,MySQL也要設(shè)置,那就是連接到數(shù)據(jù)庫(kù)之后再加一行

mysql_query("SET

NAMES

`UTF-8`");

即可

當(dāng)然,你得保證你的數(shù)據(jù)庫(kù)的字符集是UTF-8

如果仍然出錯(cuò),那就說(shuō)明數(shù)據(jù)庫(kù)的字符集配置有問(wèn)題

當(dāng)前標(biāo)題:php設(shè)置數(shù)據(jù)庫(kù)編碼及 php數(shù)據(jù)庫(kù)代碼
瀏覽路徑:http://muchs.cn/article8/doscsip.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、外貿(mào)網(wǎng)站建設(shè)、App設(shè)計(jì)手機(jī)網(wǎng)站建設(shè)、靜態(tài)網(wǎng)站、品牌網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營(yíng)