[問題] 請問JSON的問題

看板Web_Design作者 (jims)時間19年前 (2006/11/28 11:44), 編輯推噓2(316)
留言10則, 4人參與, 最新討論串1/1
最近用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

11/28 12:26, , 1F
中文一個字好像要算兩個byte 不然會截一半變成'?'
11/28 12:26, 1F

11/28 13:32, , 2F
這裡要怎麼判定不會截到半個字?
11/28 13:32, 2F

11/28 14:41, , 3F
I get it......用mb_strimwidth
11/28 14:41, 3F

11/28 15:30, , 4F
大部分都正常~但是還是些會錯誤..但我不知道是什麼字造成
11/28 15:30, 4F

11/28 15:30, , 5F
既然都是UTF-8為何還有這種問題呢?
11/28 15:30, 5F

11/28 15:50, , 6F
UTF-8 一個中文字 不見得是 2byte
11/28 15:50, 6F

11/28 15:53, , 7F
在BIG-5 中文一個字是2byte 沒錯.
11/28 15:53, 7F

11/28 15:54, , 8F
substr 是算 byte長度的
11/28 15:54, 8F

11/28 19:51, , 9F
mb_substr
11/28 19:51, 9F

11/29 13:55, , 10F
問題都解了...php urlencode.->>.javascript urldecode
11/29 13:55, 10F
文章代碼(AID): #15Qx2i4p (Web_Design)