ホームページ > バックエンド開発 > PHPチュートリアル > 助けてください、json_decode には gbk 文字列が含まれています

助けてください、json_decode には gbk 文字列が含まれています

WBOY
リリース: 2016-06-23 14:20:51
オリジナル
961 人が閲覧しました

この投稿は novas によって 2013-09-02 20:47:19 に最終的に編集されました

curl によって取得された文字列は完全に json 形式に準拠しています。形式には問題はありません。json_decode のみがサポートされています。 utf-8。通常の json_decode 解析を実行して中国語を表示する方法を教えてください。英雄たちに感謝します

{    "watershed": 100,    "maxPage": 1,    "currentPageNum": 1,    "comments": [        {            "append": null,            "auction": {                "aucNumId": "17813389603",                "auctionPic": "http://img.taobaocdn.com/bao/uploaded/null_40x40.jpg",                "link": "http://tradearchive.taobao.com/trade/detail/trade_snap.htm?trade_id=242542116456739",                "sku": "颜色分类:橘红色  尺码:均码(发圆通)",                "thumbnail": "",                "title": ""            },            "award": "",            "bidPriceMoney": null,            "buyAmount": 0,            "content": "因为清明放假的原因发货晚了两天 店家一再跟我说抱歉,态度非常的好 让我感觉的感动,虽然发晚了两天 但快递却很给力,很快收到了 这一款V领小开衫的颜色非常的漂亮喔 款式新,做工细致,精美,显高档, 用的面料非常不错,手感非常的舒适 ",            "date": "2013年04月10日 14:28",            "dayAfterConfirm": 0,            "enableSNS": false,            "from": "",            "lastModifyFrom": 0,            "payTime": null,            "photos": [                {                    "fileId": 343572768,                    "receiveId": 63647033326,                    "status": 1,                    "thumbnail": "http://img.taobaocdn.com/bao/uploaded/i0/343572768/T1GDd.XxRaXXaH.X6X.JPEG_40x40.jpg",                    "url": "http://img.taobaocdn.com/bao/uploaded/i0/343572768/T1GDd.XxRaXXaH.X6X.JPEG_400x400.jpg"                },                {                    "fileId": 343575722,                    "receiveId": 63647033326,                    "status": 1,                    "thumbnail": "http://img.taobaocdn.com/bao/uploaded/i2/343575722/T1hn89XwBeXXaH.X6X.JPEG_40x40.jpg",                    "url": "http://img.taobaocdn.com/bao/uploaded/i2/343575722/T1hn89XwBeXXaH.X6X.JPEG_400x400.jpg"                },                {                    "fileId": 343575732,                    "receiveId": 63647033326,                    "status": 1,                    "thumbnail": "http://img.taobaocdn.com/bao/uploaded/i0/343575732/T1UnN_XExcXXaH.X6X.JPEG_40x40.jpg",                    "url": "http://img.taobaocdn.com/bao/uploaded/i0/343575732/T1UnN_XExcXXaH.X6X.JPEG_400x400.jpg"                },                {                    "fileId": 343583345,                    "receiveId": 63647033326,                    "status": 1,                    "thumbnail": "http://img.taobaocdn.com/bao/uploaded/i1/343583345/T1vvt_XzxeXXaH.X6X.JPEG_40x40.jpg",                    "url": "http://img.taobaocdn.com/bao/uploaded/i1/343583345/T1vvt_XzxeXXaH.X6X.JPEG_400x400.jpg"                },                {                    "fileId": 343585239,                    "receiveId": 63647033326,                    "status": 1,                    "thumbnail": "http://img.taobaocdn.com/bao/uploaded/i3/343585239/T1dFh_XqlgXXaH.X6X.JPEG_40x40.jpg",                    "url": "http://img.taobaocdn.com/bao/uploaded/i3/343585239/T1dFh_XqlgXXaH.X6X.JPEG_400x400.jpg"                }            ],            "promotionType": "",            "propertiesAvg": "34500204.0",            "rate": "1",            "rateId": 63647033326,            "raterType": 0,            "reply": null,            "shareInfo": {                "lastReplyTime": "",                "pic": 0,                "reply": 0,                "share": false,                "userNumIdBase64": ""            },            "showCuIcon": false,            "showDepositIcon": false,            "spuRatting": [                {                    "desc": "45公斤",                    "name": "体重",                    "value": "45"                },                {                    "desc": "160厘米",                    "name": "身高",                    "value": "160"                },                {                    "desc": "刚好",                    "name": "是否合身",                    "value": "103500400"                }            ],            "status": 0,            "tag": "",            "useful": 0,            "user": {                "anony": false,                "avatar": "http://wwc.taobaocdn.com/avatar/getAvatar.do?userId=33743967&width=40&height=40&type=sns",                "displayRatePic": "b_blue_4.gif",                "nick": "水晶苹果jun",                "nickUrl": "http://my.taobao.com/33743967",                "rank": 2236,                "rankUrl": "http://rate.taobao.com/rate.htm?user_id=33743967&rater=1",                "userId": "33743967",                "vip": "b_red_1.gif",                "vipLevel": 4            },            "validscore": 0        },        {            "append": null,            "auction": {                "aucNumId": "17813389603",                "auctionPic": "http://img.taobaocdn.com/bao/uploaded/null_40x40.jpg",                "link": "http://tradearchive.taobao.com/trade/detail/trade_snap.htm?trade_id=209545650184382",                "sku": "颜色分类:粉红色  尺码:均码(发申通)",                "thumbnail": "",                "title": ""            },            "award": " 5.00 元店铺优惠券",            "bidPriceMoney": null,            "buyAmount": 0,            "content": " 衣服很满意 款式很小清新 天丝质地滑滑的 穿着很舒服 而且还很百搭显瘦~~怎么穿都很好看 非常喜欢!洗过一次之后也一点都不会掉色 衣服也不会变形~~经典款式 怎么都不会过时 推荐大家必须有一件~~很满意的一次网购 下次还来这家买!",            "date": "2013年04月28日 14:26",            "dayAfterConfirm": 0,            "enableSNS": false,            "from": "",            "lastModifyFrom": 0,            "payTime": null,            "photos": [                {                    "fileId": 352283912,                    "receiveId": 64430896211,                    "status": 1,                    "thumbnail": "http://img.taobaocdn.com/bao/uploaded/i0/352283912/T1iq5sXwtbXXaH.X6X.JPEG_40x40.jpg",                    "url": "http://img.taobaocdn.com/bao/uploaded/i0/352283912/T1iq5sXwtbXXaH.X6X.JPEG_400x400.jpg"                },                {                    "fileId": 352303043,                    "receiveId": 64430896211,                    "status": 1,                    "thumbnail": "http://img.taobaocdn.com/bao/uploaded/i3/352303043/T1BO5rXxVdXXaH.X6X.JPEG_40x40.jpg",                    "url": "http://img.taobaocdn.com/bao/uploaded/i3/352303043/T1BO5rXxVdXXaH.X6X.JPEG_400x400.jpg"                }            ],            "promotionType": "",            "propertiesAvg": "34500204.0",            "rate": "1",            "rateId": 64430896211,            "raterType": 0,            "reply": null,            "shareInfo": {                "lastReplyTime": "",                "pic": 0,                "reply": 0,                "share": false,                "userNumIdBase64": ""            },            "showCuIcon": false,            "showDepositIcon": false,            "spuRatting": [                {                    "desc": "49公斤",                    "name": "体重",                    "value": "49"                },                {                    "desc": "165厘米",                    "name": "身高",                    "value": "165"                },                {                    "desc": "刚好",                    "name": "是否合身",                    "value": "103500400"                }            ],            "status": 0,            "tag": "g",            "useful": 0,            "user": {                "anony": false,                "avatar": "http://wwc.taobaocdn.com/avatar/getAvatar.do?userId=751668243&width=40&height=40&type=sns",                "displayRatePic": "b_blue_1.gif",                "nick": "tb_3429463",                "nickUrl": "http://my.taobao.com/751668243",                "rank": 364,                "rankUrl": "http://rate.taobao.com/rate.htm?user_id=751668243&rater=1",                "userId": "751668243",                "vip": "",                "vipLevel": 3            },            "validscore": 0        }    ]}
ログイン後にコピー


ディスカッション (解決策) への返信

http://blog.sina.com.cn/s/blog_6cc9c79b010131ns。 html
http://www.zhisku.com/?p=92

質問がありますが、gbk の json 文字列はどのように生成しますか?
具体的な変換方法は非常に簡単で、文字列を utf8 エンコーディングに変換するには、json_decode を呼び出すだけです。
具体的な理由についてはブログをご覧ください
http://www.bo56.com/%E5%9C%A8php%E4%B8%AD%E5%A6%82%E4%BD%95%E4%BD%BF% E7% 94%A8json_decode%E8%A7%A3%E6%9E%90gbk%E7%BC%96%E7%A0%81%E7%9A%84json%E5%AD%97%E7%AC%A6%E4% B8% B2/

これは、curl を使用して Web ページから直接取得されます。json_ecode を使用して自分で生成する場合、非常に簡単であることがわかります

さて、問題は、gbk でエンコードされたデータが既に存在することですが、それをデコードする方法です。

<?php$json = '"信海龙"'; //一个符合json格式的gbk编码串var_dump(json_decode($str)); //输出NULL$str = mb_convert_encoding($json, "utf8", "gbk");var_dump(json_decode($str)); //输出 string(9) "信海龙"?>
ログイン後にコピー

に変換する理由 utf8 エンコード後は、通常通り json_decode を使用してログに参加できます
http://www.bo56.com/%E5%9C%A8php%E4%B8%AD%E5%A6%82 %E4%BD%95%E4% BD%BF%E7%94%A8json_decode%E8%A7%A3%E6%9E%90gbk%E7%BC%96%E7%A0%81%E7%9A%84json%E5 %AD%97%E7%AC% A6%E4%B8%B2/

ここで問題は、gbk でエンコードされたデータがすでに存在することですが、それをデコードする方法です
その後、utf-8 でデータをエンコードするだけです

$s=你的json串print_r(json_decode(iconv('gbk','utf-8',$s),true));
ログイン後にコピー

数え切れないほど変換を試しましたが、一度も成功しなかったと書きましたが、一度外部サイトに置くと、どうやっても正しくデコードできます。めまいがするので書いてください
皆さんありがとうございます

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート