Re: [請益] 似乎是字串編碼問題

看板PHP作者 (.......................)時間16年前 (2009/04/06 18:24), 編輯推噓2(201)
留言3則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《sarino (soap)》之銘言: : <HTML> : <HEAD> : <META http-equiv="Content-Type" CONTENT="text/php; charset=Big5"> : </HEAD> : <body> : <?php : $i=0; : $arr=array(); : $arr='測試一'; : ?> : <FORM ACTION="" METHOD=POST CLASS='Query' NAME="myForm"> : <TABLE border="1"> : <?php : for($i=0;$i<78;$i++) : { : if($i%13==0) : print"<TR>"; : print"<TD ALIGN=center><INPUT SIZE=1 MAXLENGTH=1 TYPE=TEXT : value='".$arr[$i]."' </TD>"; 上面這一行改成 value='".$arr[$i].( ord($arr[$i]) > 127 ? $arr[$i+1] : "" )."' </TD>"; : if($i%13==0) : print"</TR>"; 這裡加兩行 if( ord($arr[$i]) > 127 ) $i += 1; : } : ?> : </TABLE> : </FORM> : </BODY> : 上面PHP中 $arr內的字串如果是英文或數字 是可以正常呈現的 : 但是 中文則是亂碼 表格的編排也會出錯 : 我猜是編碼問題 可是我在header已經強制是BIG5碼了@@ : 請問各位 我的問題是出在哪裡 php 不像 asp 預設使用 unicode 來存字串 所以把字串放到 array 裡面是 一個 byte 一個 byte 來讀的 但是中文字有兩個 bytes, 就會遇到這個問題 解決的方法就是在輸出的時候要自行判斷是不是中文字 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.41.9.85

04/06 19:07, , 1F
多謝
04/06 19:07, 1F

04/07 11:06, , 2F
也可以把程式轉成utf8編碼,如此一來程式裏的字串也就
04/07 11:06, 2F

04/07 11:06, , 3F
跟著是utf8編碼.
04/07 11:06, 3F
文章代碼(AID): #19sTXvfS (PHP)
討論串 (同標題文章)
文章代碼(AID): #19sTXvfS (PHP)