看板 PHP 關於我們 聯絡資訊
※ 引述《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
sarino :多謝 04/06 19:07
bobju :也可以把程式轉成utf8編碼,如此一來程式裏的字串也就 04/07 11:06
bobju :跟著是utf8編碼. 04/07 11:06