內容一樣但是字串長度不一致

2021-10-05 15:19:10 字數 1559 閱讀 1506

內容一樣但是字串長度不一致**)

<?php

header("content-type: text/html;charset=utf-8");

$data[0]=$str1="後勤保障部‍​";

$data[1]=$str2="後勤保障部";

var_dump($data);

//檢視編碼方式

$encode1 = mb_detect_encoding($str1, array("ascii","utf-8","gb2312","gbk","big5"));

$encode2 = mb_detect_encoding($str2, array("ascii","utf-8","gb2312","gbk","big5"));

//當mb_strlen的內碼選擇為utf-8的時候,則會將中文字元當成乙個字元

//strlen,得到的是字串所佔的位元組數

echo "str1='".$str1."'".": 字元長度:".mb_strlen($str1).": 位元組長度:".strlen($str1)." 編碼:".$encode1."

";echo "str2='".$str2."'".": 字元長度:".mb_strlen($str2).": 位元組長度:".strlen($str2)." 編碼:".$encode2."

";//擷取str1後面兩個未顯示字元

echo "

------------------擷取str1後面兩個未顯示字元---------------------

";$res=mb_substr($str1, 5,2);

echo "str1最後兩字元: ".$res."

";echo "str1長度: ".mb_strlen($res)."

";//比較

echo "

--------------------------相等比較----------------------------------

";echo "str1 與 str2比較: ";

echo strcomp($str1,$str2)."

";echo "str2 與 str2比較: ";

echo strcomp($str2,$str2)."

";//剔除str1字串中非中文

preg_match_all('/[\x-\x]+/u', $str1, $matches);

$str1 = join('', $matches[0]);

echo "

---------------------剔除str1字串中非中文後----------------------

";echo "str1='".$str1."'".": 字元長度:".mb_strlen($str1).": 位元組長度:".strlen($str1)." 編碼:".$encode1."

";echo "str1 與 str2比較: ";

echo strcomp($str1,$str2)."

";function strcomp($str1,$str2)else

} ?>

字串擷取(長度一致)

using system using system.text namespace demo for int i 0 i str.length i console.readkey public static string cutstring string inputstring,int len els...

頁面字元編碼不一致的處理

有時候因為工作需要,會處理一些非開發人員處理的頁面,比如美工。就有可能遇到字元編碼不一致的情況。我們的開發環境預設用utf 8,但美工用gb2312。結果他處理過的檔案,有漢字的,都亂碼。如果是css檔案,裡面有漢字,還導致樣式失效,查詢了好久才找到原因。剛開始的時候,不知道在vs.net怎麼設定字...

頁面字元編碼不一致的處理

有時候因為工作需要,會處理一些非開發人員處理的頁面,比如美工。就有可能遇到字元編碼不一致的情況。我們的開發環境預設用utf 8,但美工用gb2312。結果他處理過的檔案,有漢字的,都亂碼。如果是css檔案,裡面有漢字,還導致樣式失效,查詢了好久才找到原因。剛開始的時候,不知道在vs.net怎麼設定字...