PHP字元編碼問題之GB2312 VS UTF-8_PHP教程

來源:互聯網
上載者:User
今天照著書隨便寫了段代碼,代碼意圖是將字串使用str_split()函數進行分割成數組,英文好說,但分割中文(兩個中文一個數組單元)時就出問題了——

  看代碼:

>http://www.w3.org/TR/html4/loose.dtd">

New Document

$string1 = "i am a phper";

$string2 = "這本書是藍海戰略";

print_r(str_split($string1));

echo "
";

print_r(str_split($string2,4));

?>

  

測試結果打出我所料——中文亂碼

  Why?Why?Why?Why?亂碼是什麼?什麼事亂碼?給我解釋解釋,什麼,是%&的亂碼!

  因為英文無亂碼,只有中文亂碼,首先想到了編碼的問題,於是突然想起來UTF-8的編碼是UTF-8需要3個位元組,死馬當活馬醫吧!

  於是  print_r(str_split($string2,4));這句中的4 ,就被換成了6,於是乎——看結果

  同樣,你也可以試試將編碼的charset的UTF-8改成GB2312,因為Unicode的編碼是需要2位元組的,所以說Gb2312的編碼比UTF-8能夠節約1/3的空間,但是如果你要相容繁體中文、韓文、日文的其他的語言就需要使用UTF-8了。

  順便發現了首動感的Music,拿來分享一下:

  —Its Ok?

  —Its OK!

http://www.bkjia.com/PHPjc/478805.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/478805.htmlTechArticle今天照著書隨便寫了段代碼,代碼意圖是將字串使用str_split()函數進行分割成數組,英文好說,但分割中文(兩個中文一個數組單元)時...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.