PHP字元編碼問題之GB2312 VS UTF-8解決方案

來源:互聯網
上載者:User

看代碼: 複製代碼 代碼如下:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title> New Document </title>
<meta name="author" content=""/>
<meta name="keywords" content=""/>
<meta name="description" content=""/>
<link rel="stylesheet" type="text/css" href="" />
</head>

<body>
<?php
$string1 = "i am a phper";
$string2 = "這網站是指令碼之家";
print_r(str_split($string1));
echo "<br />";
print_r(str_split($string2,4));
?>
</body>
</html>

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

  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了。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.