作者jimshsu (jims)
看板Web_Design
標題[問題] 請問JSON的問題
時間Tue Nov 28 12:05:23 2006
最近用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