国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁 後端開發(fā) PHP問題 總結(jié)mysql php亂碼問題

總結(jié)mysql php亂碼問題

Jul 06, 2020 am 09:21 AM
mysql php

解決mysql php亂碼問題:1、建立資料庫表時指定資料庫表的字元集;2、設(shè)定mysql的字元集;3、連接資料庫後,設(shè)定資料庫間傳輸字元時所用的預(yù)設(shè)字元編碼;4、設(shè)定html頁面使用的字元集。

總結(jié)mysql php亂碼問題

php讀mysql時,有以下幾個地方涉及到了字元集。

1.?建立資料庫表時指定資料庫表的字元集。例如

 create table tablename 
 ( 
 id int not null auto_increment, 
 title varchar(20) not null,  
 primary key ('id') 
 )DEFAULT CHARSET =UTF8;

如果在建立表格時沒有指定表格的字元集,則使用表格所屬的資料庫的預(yù)設(shè)字元集。此字元集由character_set_database指定。
查看資料庫表所使用的字元集的方法是:

show create table mytable;

(PS:建立資料庫/表格和進行資料庫操作時盡量明確指出使用的字元集,而不是依賴MySQL的默認設(shè)置,否則MySQL升級時可能帶來很大困擾[1])

2. mysql的字符集
mysql中有三個重要的變量,character_set_client,character_set_results,character_set_connection。
透過設(shè)定character_set_client,告訴Mysql,PHP存進資料庫的是什麼編碼方式。
透過設(shè)定character_set_results,告訴Mysql,PHP需要取什麼樣編碼的資料。
透過設(shè)定character_set_connection,告訴Mysql,PHP查詢中的文本,使用什麼編碼。

3. 連接資料庫後,設(shè)定資料庫間傳輸字元時所使用的預(yù)設(shè)字元編碼。
使用mysqli::set_charset()或mysqli::query('set names utf8'),進行設(shè)定。
盡量使用mysqli::set_charset(mysqli:set_charset)而不是”SET NAMES」(參考這篇文章)

$db = new mysqli('localhost','user','passwd','database_name');$db->set_charset('utf8');

注意是utf8,不是utf-8
(這裡有個問題就是,資料庫和php都已經(jīng)統(tǒng)一了編碼,但是如果沒有呼叫mysqli::set_charset()函數(shù)時,讀出資料時仍然會出現(xiàn)亂碼。這是為什麼?)
(另,set names utf8相當於下面三句
SET character_set_client = utf8;
SET character_set_results = utf8;?
SET character_set_connection = utf8;?


#4. html頁面使用的字元集。在meta標籤中設(shè)定

<meta http-equiv="content-type" content="text/html; charset=utf-8">

5. php文字檔案所使用的字元集。
在linux下可以用vim開啟文件,輸入
:set encoding
檢視文件使用的字元集

要保證不亂碼,需要保證文件本身的編碼,HTML裡指定的編碼,PHP告訴Mysql的編碼(包括character_set_client和character_set_results)統(tǒng)一。同時使用mysqli:set_charset()函數(shù)或”SET NAMES」。

針對「3」後面的問題,寫了幾個例子,測試連結(jié)資料庫後,設(shè)定和不設(shè)定字元集時的結(jié)果。測試環(huán)境Ubuntu 12.04,MySQL 5.5,php 5.5.7。
結(jié)果如下:
(1) 資料庫表格字元集是utf8,不使用set names utf8
能正常插入、讀出中文,但在mysql中顯示亂碼

(2)資料庫表格字元集是utf8,使用set names utf8
能正常插入、讀出中文,mysql中顯示正確

(3) 資料庫表格字元集不是utf8,使用set names utf8
mysql中顯示,讀出都是問號。

很多相關(guān)知識,請造訪PHP中文網(wǎng)!

以上是總結(jié)mysql php亂碼問題的詳細內(nèi)容。更多資訊請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願投稿,版權(quán)歸原作者所有。本站不承擔相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

編寫有效的PHP評論 編寫有效的PHP評論 Jul 18, 2025 am 04:44 AM

註釋不能馬虎是因為它要解釋代碼存在的原因而非功能,例如兼容老接口或第三方限制,否則看代碼的人只能靠猜。必須加註釋的地方包括複雜的條件判斷、特殊的錯誤處理邏輯、臨時繞過的限制。寫註釋更實用的方法是根據(jù)場景選擇單行註釋或塊註釋,函數(shù)、類、文件開頭用文檔塊註釋說明參數(shù)與返回值,並保持註釋更新,對複雜邏輯可在前面加一行概括整體意圖,同時不要用註釋封存代碼而應(yīng)使用版本控制工具。

掌握PHP塊評論 掌握PHP塊評論 Jul 18, 2025 am 04:35 AM

PHPblockcommentsareusefulforwritingmulti-lineexplanations,temporarilydisablingcode,andgeneratingdocumentation.Theyshouldnotbenestedorleftunclosed.BlockcommentshelpindocumentingfunctionswithPHPDoc,whichtoolslikePhpStormuseforauto-completionanderrorche

通過評論提高可讀性 通過評論提高可讀性 Jul 18, 2025 am 04:46 AM

寫好註釋的關(guān)鍵在於說明“為什麼”而非僅“做了什麼”,提升代碼可讀性。 1.註釋應(yīng)解釋邏輯原因,例如值選擇或處理方式背後的考量;2.對複雜邏輯使用段落式註釋,概括函數(shù)或算法的整體思路;3.定期維護註釋確保與代碼一致,避免誤導(dǎo),必要時刪除過時內(nèi)容;4.在審查代碼時同步檢查註釋,並通過文檔記錄公共邏輯以減少代碼註釋負擔。

學(xué)習(xí)PHP:初學(xué)者指南 學(xué)習(xí)PHP:初學(xué)者指南 Jul 18, 2025 am 04:54 AM

易於效率,啟動啟動tingupalocalserverenverenvirestoolslikexamppandacodeeditorlikevscode.1)installxamppforapache,mysql,andphp.2)uscodeeditorforsyntaxssupport.3)

PHP開發(fā)環(huán)境設(shè)置 PHP開發(fā)環(huán)境設(shè)置 Jul 18, 2025 am 04:55 AM

第一步選擇集成環(huán)境包XAMPP或MAMP搭建本地服務(wù)器;第二步根據(jù)項目需求選擇合適的PHP版本並配置多版本切換;第三步選用VSCode或PhpStorm作為編輯器並搭配Xdebug進行調(diào)試;此外還需安裝Composer、PHP_CodeSniffer、PHPUnit等工具輔助開發(fā)。

PHP設(shè)置的簡單指南 PHP設(shè)置的簡單指南 Jul 18, 2025 am 04:25 AM

PHP設(shè)置的關(guān)鍵在於明確安裝方式、配置php.ini、連接Web服務(wù)器及啟用必要擴展。 1.安裝PHP:Linux用apt、Mac用Homebrew、Windows推薦XAMPP;2.配置php.ini:調(diào)整錯誤報告、上傳限制等並重啟服務(wù)器;3.搭配Web服務(wù)器:Apache通過mod_php,Nginx使用PHP-FPM;4.安裝常用擴展:如mysqli、json、mbstring等以支持完整功能。

PHP語法基礎(chǔ)知識 PHP語法基礎(chǔ)知識 Jul 18, 2025 am 04:32 AM

學(xué)PHP需掌握變量與數(shù)據(jù)類型、控制結(jié)構(gòu)、函數(shù)定義及調(diào)用規(guī)範、避免常見語法錯誤。 1.變量以$開頭,區(qū)分大小寫,類型包括字符串、整數(shù)、布爾值等;2.控制結(jié)構(gòu)支持if/else/循環(huán),模板中可用冒號語法替代花括號,foreach處理數(shù)組便捷;3.函數(shù)用function定義,支持默認參數(shù)和可變參數(shù);4.常見錯誤包括漏分號、混淆==與===、拼接符錯誤、數(shù)組下標引號使用不當。

有效的PHP評論 有效的PHP評論 Jul 18, 2025 am 04:33 AM

寫好PHP註釋的關(guān)鍵在於清晰、有用且簡潔。 1.註釋應(yīng)說明代碼背後的意圖而非僅描述代碼本身,如解釋複雜條件判斷的邏輯目的;2.在魔術(shù)值、舊代碼兼容、API接口等關(guān)鍵場景添加註釋以提升可讀性;3.避免重複代碼內(nèi)容,保持簡潔具體,並使用標準格式如PHPDoc;4.註釋需與代碼同步更新,確保準確性。好的註釋應(yīng)站在他人角度思考,降低理解成本,成為代碼的理解導(dǎo)航儀。

See all articles