摘要:先看以下代碼互聯(lián)網(wǎng)產(chǎn)品我們以為會(huì)得到結(jié)果互聯(lián)網(wǎng)產(chǎn)品但實(shí)際上獲得的是互聯(lián)網(wǎng)產(chǎn)為什么呢其實(shí)這是編碼引起的問題這個(gè)函數(shù)在處理字符時(shí)是按照編碼來處理先看一下互聯(lián)網(wǎng)產(chǎn)品的編碼互聯(lián)網(wǎng)產(chǎn)品可以看出中文品的編碼是而中文符號(hào)的編碼是因此在處理時(shí)會(huì)一并將品
先看以下代碼
var_dump(rtrim("互聯(lián)網(wǎng)產(chǎn)品、", "、"));
我們以為會(huì)得到結(jié)果 "互聯(lián)網(wǎng)產(chǎn)品", 但實(shí)際上獲得的是 ""互聯(lián)網(wǎng)產(chǎn)??"
為什么呢, 其實(shí)這是編碼引起的問題.
rtrim() 這個(gè)函數(shù)在處理字符時(shí)是按照ascii編碼來處理, 先看一下 "互聯(lián)網(wǎng)產(chǎn)品、" 的編碼:
$str = "互聯(lián)網(wǎng)產(chǎn)品、"; for ($i = 0; $i < strlen($str); $i++) { echo decbin(ord($str[$i])) . PHP_EOL; } /* Output 11100100 10111010 10010010 11101000 10000001 10010100 11100111 10111101 10010001 11100100 10111010 10100111 11100101 10010011 10000001 11100011 10000000 10000001 */
可以看出中文"品"的utf-8編碼是 "11100101 10010011 10000001", 而中文符號(hào) "、" 的utf-8編碼是 "11100011 10000000 10000001"
因此 rtrim() 在處理時(shí)會(huì)一并將 "品" 截掉最后一個(gè)字節(jié), 剩下 "11100101 10010011", 從而引起亂碼的問題.
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/31414.html
摘要:字符串變量被解析。很顯然,代表,代表獲取字符串的長(zhǎng)度對(duì)于英文數(shù)字字母。你好,截取字符串對(duì)于純英文字符,可以使用對(duì)于中文字符,可以使用例如你好,世界查找字符串查找字符串,有內(nèi)置函數(shù)代表,應(yīng)該代表。當(dāng)然也有函數(shù)用于處理其他編碼的字符串。 1. 單引號(hào)和雙引號(hào) PHP可以在單引號(hào)或者雙引號(hào)中包含字符串。但是單引號(hào)和雙引號(hào)有所區(qū)別。 單引號(hào)包含的內(nèi)容會(huì)被認(rèn)為是普通字符串 雙引號(hào)中允許包含字符...
摘要:如何獲取受支持的算法清單,請(qǐng)參見。要進(jìn)行哈希運(yùn)算的消息。使用生成信息摘要時(shí)所使用的密鑰。設(shè)置為輸出原始二進(jìn)制數(shù)據(jù),設(shè)置為輸出小寫進(jìn)制字符串。 介紹一下問題的背景: 本人一枚小小PHPer,有一天公司的Java找到我,讓我?guī)兔懸粋€(gè)接口的Demo,心想:‘最喜歡寫接口了,來來來來!’,于是Java就帶著Java版Demo來了,大概看了一遍,具體涉及以下幾點(diǎn):(不想了解的看最后一部分,就好...
摘要:如何獲取受支持的算法清單,請(qǐng)參見。要進(jìn)行哈希運(yùn)算的消息。使用生成信息摘要時(shí)所使用的密鑰。設(shè)置為輸出原始二進(jìn)制數(shù)據(jù),設(shè)置為輸出小寫進(jìn)制字符串。 介紹一下問題的背景: 本人一枚小小PHPer,有一天公司的Java找到我,讓我?guī)兔懸粋€(gè)接口的Demo,心想:‘最喜歡寫接口了,來來來來!’,于是Java就帶著Java版Demo來了,大概看了一遍,具體涉及以下幾點(diǎn):(不想了解的看最后一部分,就好...
摘要:個(gè)人網(wǎng)站最近剛寫了一個(gè)手機(jī)在線播放的電影站使用日常手記更新使用的的查詢作用域的本地作用域去自定義可復(fù)用的約束集合,方便鏈?zhǔn)秸{(diào)用什么是本地查詢作用域本地作用域允許我們定義通用的約束集合以便在應(yīng)用中復(fù)用。 關(guān)于作者 程序開發(fā)人員,不拘泥于語(yǔ)言與技術(shù),目前主要從事PHP和前端開發(fā),使用Laravel和VueJs,App端使用Apicloud混合式開發(fā)。合適和夠用是最完美的追求。 個(gè)人網(wǎng)站:...
摘要:系列函數(shù)是用于去除字符串中首尾的空格或其他字符。此處要注意,左右兩邊是一對(duì)合法的范圍值,如果傳遞的是非法的值會(huì)報(bào)錯(cuò)。本文主要對(duì)函數(shù)進(jìn)行分析,和函數(shù)跟的類似。更多源碼文章源碼閱讀函數(shù)性能為王從源碼剖析和源碼閱讀和函數(shù)源碼閱讀和函數(shù) trim系列函數(shù)是用于去除字符串中首尾的空格或其他字符。ltrim函數(shù)只去除掉字符串首部的字符,rtrim函數(shù)只去除字符串尾部的字符。 我在github有對(duì)P...
閱讀 3475·2021-11-18 10:02
閱讀 3722·2021-09-13 10:25
閱讀 1931·2021-07-26 23:38
閱讀 2582·2019-08-30 15:44
閱讀 2288·2019-08-30 13:51
閱讀 1235·2019-08-26 11:35
閱讀 2280·2019-08-26 10:29
閱讀 3455·2019-08-23 14:56