php用json_encode编码后乱码,php json_encode()函数中文编码乱码解决方法_PHP教程
在我使用php json_encode()時,如果是英文或數字沒一點問題,但是用到中文是居然出現不可識別的中文亂碼了,下面看我解決json_encode中文亂碼方法。
在網上找到一種解決方法:
代碼如下
復制代碼
后來請教了別人,還可以用base64編碼,不過base64編碼不可以放在URL中,百度是這樣解釋的:
標準的Base64并不適合直接放在URL里傳輸,因為URL編碼器會把標準Base64中的“/”和“+”字符變為形如“%XX”的形式,而這些“%”號在存入數據庫時還需要再進行轉換,因為ANSI SQL中已將“%”號用作通配符。
不過我的數據是要通過POST發送的,并不在HTTP 的head中,而在message-body里,所以不受影響。
json_encode 只能接受utf-8格式的數據
例如:'胥'經過json_encode處理后變為'u80e5',最終的json中中文部分被替換為unicode編碼。我們要解決的就是將對象轉換為json并保證對象內部的中文在json中仍然是以正常的中文出現,現在看來只使用json_encode是不能達到目的的。
我的解決方法:先將類中的中文字段進行url編碼(urlencode),然后再對對象進行json編碼(jsonencode),最后url解碼(urldecode)json,即最終的json,里面的中文依舊是那個中文!
測試代碼如下:
代碼如下
復制代碼
程序輸出結果:
代碼如下
復制代碼
{"item1":1,"item2":"u4e2du6587"}
{"item1":1,"item2":"中文"}
{"item1":1,"item2":"u4e2du6587"}
"u80e5"
http://www.bkjia.com/PHPjc/631284.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/631284.htmlTechArticle在我使用php json_encode()時,如果是英文或數字沒一點問題,但是用到中文是居然出現不可識別的中文亂碼了,下面看我解決json_encode中文亂碼...
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的php用json_encode编码后乱码,php json_encode()函数中文编码乱码解决方法_PHP教程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 乱码 转ios_王者荣耀:转区数量提升2
- 下一篇: .net core 装了没生效_王者荣耀