国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
PHP連接MySQL的字符集問題

之前我在一篇文章里面講到把故人居網(wǎng)站升級為UTF8字符集,看過的也知道一些有關(guān)PHP和MySQL字符集的問題,通常情況下MySQL默認使用的字符集是latin1,如果我們的系統(tǒng)要使用utf8或者別的字符集,就需要對MySQL進行配置,并且在PHP程序中做一點處理,大致的方法如下:

1.修改my.ini (或者my.cnf)文件,在文件的[mysqld]中加入下面一行
character_set_server = utf8

由于MySQL的字符集和連接校對有分級,分別是操作系統(tǒng)級、數(shù)據(jù)庫服務(wù)器級、數(shù)據(jù)庫客戶端級,這幾個級別是從上往下包含的,我上面的那一行 character_set_server 參數(shù)實際上就是設(shè)置了全局的字符集,這樣不管是MySQL數(shù)據(jù)存儲、數(shù)據(jù)連接、結(jié)果返回都將是utf8,當然,如果您愿意,您也可以進行分別的設(shè)置,比如做如下設(shè)置
default-character-set = utf8
default-collation = utf8_general_ci
這樣的設(shè)置可以設(shè)置一個默認字符集,在您的應(yīng)用中如果沒有特殊指定字符集,那將默認使用utf8作為字符集,并且使用utf8_general_ci作為連接校對的默認字符集;

簡單的處理方法就是如我前面的那樣,加入一行即可。

2.PHP程序中連接MySQL的時候,或者在執(zhí)行mysql_query的時候,執(zhí)行以下一行SQL語句
SET NAMES utf8
就是說在執(zhí)行mysql_query之前,或者在完成mysql_connect()之后,執(zhí)行 mysql_query(“SET NAMES utf8)

有了前面的兩個處理,您就可以正常的進行utf8字符集的數(shù)據(jù)庫操作,不管在頁面顯示還是數(shù)據(jù)庫中,字符都不會出現(xiàn)亂碼。

前面說到的方法是以前用到的常用方法,最近在MySQL的官方發(fā)現(xiàn)了這樣一個參數(shù) init_connect ,它的意思呢就是在MySQL啟動的時候,自動執(zhí)行init_connect 參數(shù)里面的SQL語句,支持用分號間隔的多個語句,于是我們可以把 SET NAMES utf8語句加到my.ini文件里面,在PHP程序里面就不用單獨處理了,加入?yún)?shù)的方法很簡單,就是在my.ini文件的 [mysqld] 段加入下面一行
init_connect = ‘SET NAMES utf8′

不過這個方法有一個需要注意的地方,那就是該參數(shù)對于連接數(shù)據(jù)庫的用戶是超級用戶組的用戶將被忽略,那么在PHP程序中用來連接MySQL數(shù)據(jù)庫的用戶不能是SUPER組的用戶,比如root用戶就肯定不行,這樣是為了避免該參數(shù)導(dǎo)致數(shù)據(jù)庫致命錯誤,而無法使用任何一個用戶連接上修改該項配置,之前我搞了兩天都沒有發(fā)現(xiàn)這樣的問題,害我郁悶了很久。。。

有關(guān)MySQL的配置文件中用到的參數(shù)可以參考官方的文檔 : http://dev.mysql.com/doc/refman/4.1/en/server-system-variables.html

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
如何修改MySQL字符集
mysql創(chuàng)建數(shù)據(jù)庫指定字符集
解決Mysql+Java的中文亂碼問題(學(xué)習(xí)心得)
MySQL 在 Windows 下安裝教程、避坑指南
Mysql與JSP網(wǎng)頁中文亂碼問題的解決方案
MySQL數(shù)據(jù)庫修改字符集為utf8mb4
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服