常見php與mysql中文亂碼問題解決辦法
亂碼問題1:用PHPmyAdmin操作MySQL數(shù)據(jù)庫漢字顯示正常,但用PHP網(wǎng)頁顯示MySQL數(shù)據(jù)時所有漢字都變成了?號。
癥狀:用PHPmyAdmin輸入漢字正常,但當(dāng)PHP網(wǎng)頁顯示MySQL數(shù)據(jù)時漢字就變成了?號,并且有多少個漢字就有多少個?號。
原因:沒有在PHP網(wǎng)頁中用代碼告訴MySQL該以什么字符集輸出漢字。
解決方法:
1.網(wǎng)頁文件head設(shè)置編碼<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ />
2.PHP頁面在保存的時候使用utf-8編碼保存,可以用記事本或convertz802轉(zhuǎn)換文件
3.在MYSQL中新建數(shù)據(jù)庫的時候數(shù)據(jù)庫 選擇UTF-8編碼既字符集 設(shè)定為 utf-8_unicode_ci(Unicode (多語言), 不區(qū)分大小寫),
庫里面 表table的 整理 設(shè)置為 utf-8_general_ci
表里面的每個字段的 整理 都設(shè)置為 utf-8_general_ci
4.在PHP連接數(shù)據(jù)庫的時候,也就是mysql_connect()之后加入
//設(shè)置數(shù)據(jù)的字符集utf-8
mysql_query("set names 'utf8' ");
mysql_query("set character_set_client=utf8");
mysql_query("set character_set_results=utf8");
注意是utf8,不是utf-8 。
如果你的網(wǎng)頁編碼是gb2312,那就是 SET NAMES GB2312。但編輯員強(qiáng)烈推薦網(wǎng)頁編碼、MySQL數(shù)據(jù)表字符集、PHPmyAdmin都統(tǒng)一使用UTF-8。
以上四點即可實現(xiàn)全站utf-8編碼,而且在數(shù)據(jù)庫中也不會有中文亂碼。
亂碼問題2:用PHPmyAdmin輸入數(shù)據(jù)時發(fā)生錯誤,不讓輸入或出現(xiàn)亂碼
解決方法:這是設(shè)置問題。請安裝最新版PHPmyAdmin或Appserv,打開PHPmyAdmin,MySQL 字符集: UTF-8 Unicode (utf8); MySQL 連接校對應(yīng)該為utf8_unicode_ci;創(chuàng)建新的數(shù)據(jù)庫時整理一欄請也選成utf8_unicode_ci。網(wǎng)頁字符集也最好選用utf-8。utf-8是國際標(biāo)準(zhǔn)編碼,是趨勢。
亂碼問題3: 在本機(jī)開發(fā)好的MySQL數(shù)據(jù)表,在本機(jī)測試一切正常,但用網(wǎng)站空間商提供的PHPmyAdmin上傳時卻出現(xiàn)問題,上傳失敗。尤其是使用國外PHP空間。
解決方法:首先查看網(wǎng)站空間商提供的PHPmyAdmin字符集設(shè)定,確定自己所建數(shù)據(jù)表與服務(wù)商的是同一編碼。在國外MySQL是不支持gb2312的,甚至最新版的Apache也不支持gb2312。如果是因為編碼不統(tǒng)一,可以重建數(shù)據(jù)表,當(dāng)然是用國際標(biāo)準(zhǔn)的UTF8。
相關(guān)文章
Navicat 遠(yuǎn)程連接 MySQL實現(xiàn)步驟解析
這篇文章主要介紹了Navicat 遠(yuǎn)程連接 MySQL實現(xiàn)步驟解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-08-08
window下mysql 8.0.15 安裝配置方法圖文教程
這篇文章主要為大家詳細(xì)介紹了window下mysql 8.0.15 安裝配置方法圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-02-02
mysql數(shù)據(jù)庫操作_高手進(jìn)階常用的sql命令語句大全
mysql數(shù)據(jù)庫操作sql命令語句大全:三表連表查詢、更新時批量替換字段部分字符、判斷某一張表是否存在、自動增長恢復(fù)從1開始、查詢重復(fù)記錄、更新時字段值等于原值加上一個字符串、更新某字段為隨機(jī)值、復(fù)制表數(shù)據(jù)到另一個表、創(chuàng)建表時拷貝其他表的數(shù)據(jù)和結(jié)構(gòu)...2022-11-11

