摘要:多字節(jié)字符串假設(shè)字符串中的每一個字符都是八位字符,占用一個字節(jié)的內(nèi)存。如果使用原生的字符串函數(shù)處理這些多字節(jié)字符串,會得到意外的錯誤。字符編碼一定要知道數(shù)據(jù)的字符編碼。擴展不僅可以處理字符串,還可以在不同的字符編碼之間轉(zhuǎn)換多字節(jié)字符串。
1).PHP假設(shè)字符串中的每一個字符都是八位字符,占用一個字節(jié)的內(nèi)存。但是,你有可能會遇到多字節(jié)字符串。
2).這里所說的多字節(jié)字符串是指不在傳統(tǒng)的128個ASCII字符集中的字符。如果使用PHP原生的字符串函數(shù)處理這些多字節(jié)Unicode字符串,會得到意外的錯誤。
3).安裝mbstring擴展來處理這些問題。例如使用處理多字節(jié)的字符串函數(shù)mb_strlen()函數(shù)來替代原生的strlen()函數(shù)。
1).一定要知道數(shù)據(jù)的字符編碼。
2).使用UTF-8字符編碼存儲數(shù)據(jù)。
3).使用UTF-8字符編碼輸出數(shù)據(jù)。
4).mbstring擴展不僅可以處理Unicode字符串,還可以在不同的字符編碼之間轉(zhuǎn)換多字節(jié)字符串。
1).在php.ini中作如下配置
default_charset = "UTF-8";
2)例如header函數(shù)明確指定字符集,在PHP返回的響應(yīng)中,Content-Type首部默認(rèn)也使用了這個默認(rèn)值
3).只要PHP已經(jīng)明確返回了輸出,就不能使用header()函數(shù)了
4).建議在HTML文檔的頭部也加入響應(yīng)的meta標(biāo)簽
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/23334.html
摘要:主要以的或為例,其他數(shù)據(jù)庫中基本也有類型并需要提供長度的參數(shù)。以前的版本的最大長度就是,之后是。而之后表示長度的字節(jié)數(shù)會變成個。盡管是動態(tài)存儲的,但別的數(shù)據(jù)庫引擎不一定是如此。不管其中每一行存儲的數(shù)據(jù)是長還是短。 http://dba.stackexchange.com/questions/76469/mysql-varchar-length-and-... 主要以mysql...
摘要:處理文本的最佳實踐是三明治要盡早把輸入例如讀取文件時的字節(jié)序列解碼成字符串。這種三明治中的肉片是程序的業(yè)務(wù)邏輯,在這里只能處理字符串對象。 處理文本的最佳實踐是Unicode 三明治 要盡早把輸入(例如讀取文件時)的字節(jié)序列解碼成字符串。 這種三明治中的肉片是程序的業(yè)務(wù)邏輯,在這里只能處理字符串對象。 在其他處理過程中,一定不能編碼或解碼。 對輸出來說,則要盡量晚地把字符串編碼成字...
閱讀 2507·2023-04-26 00:01
閱讀 866·2021-10-27 14:13
閱讀 1921·2021-09-02 15:11
閱讀 3459·2019-08-29 12:52
閱讀 595·2019-08-26 12:00
閱讀 2629·2019-08-26 10:57
閱讀 3469·2019-08-26 10:32
閱讀 2904·2019-08-23 18:29