看板 Web_Design 關於我們 聯絡資訊
最近用AJAX來接收資料一筆資料 使用者送出要求後...php從資料庫取出檔案..然後寫成JSON格式 javascript再來讀取它(所有資料都是UTF-8編碼) 經過測試..我遇到了兩個問題 1.JSON 是否有檔案大小限制? 我裡面有一些TEXT欄位..結果就會出現URL不正確 最後在我php那邊用substr()函數擷取50個字元就正常 2.我的資料有 中文跟英文 我發現因為我用substr()...中文資料的部份末尾會變成'?' 結果當javascript讀取該欄位(如:json[0].abstract) 就會出現"無法判定字串常數的結尾" 請問這部分我該怎麼處理? 片段php程式 { packageId:"<?=$row["packageId"] ?>", title:"<?=$row["title"] ?>", abstract:"<?=substr($row["abstract"],0,50) ?>", }, -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 134.208.7.229
superGA:中文一個字好像要算兩個byte 不然會截一半變成'?' 11/28 12:26
jimshsu:這裡要怎麼判定不會截到半個字? 11/28 13:32
jimshsu:I get it......用mb_strimwidth 11/28 14:41
jimshsu:大部分都正常~但是還是些會錯誤..但我不知道是什麼字造成 11/28 15:30
jimshsu:既然都是UTF-8為何還有這種問題呢? 11/28 15:30
alpe:UTF-8 一個中文字 不見得是 2byte 11/28 15:50
alpe:在BIG-5 中文一個字是2byte 沒錯. 11/28 15:53
alpe:substr 是算 byte長度的 11/28 15:54
suckerlove:mb_substr 11/28 19:51
jimshsu:問題都解了...php urlencode.->>.javascript urldecode 11/29 13:55