亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

PHP數組傳遞給JavaScript以及json_encode的gbk中文亂碼

2024-09-04 11:45:46
字體:
來源:轉載
供稿:網友

文章介紹了關于PHP數組傳遞給JavaScript以及json_encode的gbk中文亂碼的解決 ,下面是創建JSON函數,這一段來自網上某一位大俠

  1. /************************************************************** 
  2.  * 
  3. *    使用特定function對數組中所有元素做處理 
  4. *    @param    string    &$array        要處理的字符串 
  5. *    @param    string    $function    要執行的函數 
  6. *    @return boolean    $apply_to_keys_also        是否也應用到key上 
  7. *    @access public 
  8. * 
  9. *************************************************************/ 
  10. function arrayRecursive(&$array$function$apply_to_keys_also = false) 
  11.     foreach ($array as $key => $value) { 
  12.         if (is_array($value)) { 
  13.             arrayRecursive($array[$key], $function$apply_to_keys_also); 
  14.         } else { 
  15.             $array[$key] = $function($value); 
  16.         } 
  17.         if ($apply_to_keys_also && is_string($key)) { 
  18.             $new_key = $function($key); 
  19.             if ($new_key != $key) { 
  20.                 $array[$new_key] = $array[$key]; 
  21.                 unset($array[$key]); 
  22.             } 
  23.         } 
  24.     } 
  25. /************************************************************** 
  26.  * 
  27. *    將數組轉換為JSON字符串(兼容中文) 
  28. *    @param    array    $array        要轉換的數組 
  29. *    @return string        轉換得到的json字符串 
  30. *    @access public 
  31. * 
  32. *************************************************************/ 
  33. function JSON($array) { 
  34.     arrayRecursive($array'urlencode', true); 
  35.     $json = json_encode($array); 
  36.     return urldecode($json); 
  37. 連接數據庫取值給數組$array1 
  38.  代碼如下 復制代碼 
  39. $dbcnx = @mysql_connect ( "localhost""root""1234" ); 
  40. if (! $dbcnx) { 
  41.     echo ("Unable to connect to the " . "database server at this time."); 
  42.     exit (); 
  43. if (! @mysql_select_db ( "pms" )) { 
  44.     echo ("Unable to locate the joke " . "database at this time."); 
  45.     exit (); 
  46. mysql_query ( "SET NAMES 'GB2312'" ); 
  47.     $q=mysql_query("select * from ability where ALV = 1");  
  48.     while($row=mysql_fetch_array($q)){  
  49.      $array1[] = $row[AName]; 

數組array1傳遞到JavaScript給數組ability1

  1. <script type="text/javascript" src="JS/jquery-1.7.2.min.js"></script> 
  2. <script type="text/javascript"
  3. var ability1=<?php echo JSON($array1);?>; 
  4. var a=eval("ability1"); 
  5. alert(a[0]); 
  6. </script> 

另一種json中文亂碼解決方法,如果是中文的話就要注意了,在網上找到一種解決方法:

  1. <?php  
  2. /* 處理json_encode中文亂碼 */  
  3. $data = array ('game' => '冰火國度''name' => '刺之靈''country' => '冰霜國''level' => 45 );  
  4. echo json_encode ( $data );  
  5. echo "<br>";  
  6. $newData = array ();  
  7. foreach ( $data as $key => $value ) {  
  8. $newData [$key] = urlencode ( $value );  
  9. }  
  10. echo urldecode ( json_encode ( $newData ) );  
  11. ?> 
后來請教了別人,還可以用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,里面的中文依舊是那個中文! 測試代碼如下:

  1. <?php  
  2. class myClass {  
  3. public $item1 = 1;  
  4. public $item2 = '中文';  
  5. function to_json() {  
  6. //url編碼,避免json_encode將中文轉為unicode  
  7. $this->item2 = urlencode($this->item2);  
  8. $str_json = json_encode($this);  
  9. //url解碼,轉完json后將各屬性返回,確保對象屬性不變  
  10. $this->item2 = urldecode($this->item2);  
  11. return urldecode($str_json);  
  12. }  
  13. }  
  14. $c = new myClass();  
  15. echo json_encode($c);  
  16. echo '<br/>';  
  17. echo $c->to_json();  
  18. echo '<br/>';  
  19. echo json_encode($c);  
  20. echo '<br/>';  
  21. echo json_encode('胥');  
  22. ?> 

程序輸出結果:

  1. {"item1":1,"item2":"u4e2du6587"}  
  2. {"item1":1,"item2":"中文"}  
  3. {"item1":1,"item2":"u4e2du6587"}  
  4. "u80e5" 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品夜色7777狼人| 日韩久久免费电影| 最新的欧美黄色| 亚洲在线免费视频| 日韩精品中文在线观看| 色婷婷综合成人av| 91超碰中文字幕久久精品| 精品久久久久久久久中文字幕| 亚洲精品久久久久久久久久久久久| 国产一区二区三区日韩欧美| 日韩精品极品视频免费观看| 国产成人精品免费视频| yellow中文字幕久久| 国产精品福利在线观看网址| 欧美成人中文字幕| 亚洲天堂一区二区三区| 亚洲精品日韩激情在线电影| 久久精品视频免费播放| 欧美成人午夜视频| 欧美又大又硬又粗bbbbb| 国产精品国产亚洲伊人久久| 久久免费视频观看| 日韩在线欧美在线| 91免费欧美精品| 欧美一区二区大胆人体摄影专业网站| 亚洲黄色片网站| 欧美激情国产日韩精品一区18| 久久网福利资源网站| 国产精品久久久久av| 亚洲欧洲中文天堂| 欧美精品久久久久久久免费观看| 国产精品视频导航| 久久久噜噜噜久噜久久| 精品国产欧美一区二区五十路| 中文字幕亚洲国产| 色综合伊人色综合网站| 日韩美女在线观看一区| 亲爱的老师9免费观看全集电视剧| 中文字幕av一区| 亚洲国产精品人人爽夜夜爽| 日韩在线观看精品| 国产精品成人品| 日韩av中文在线| 欧美日韩人人澡狠狠躁视频| 国产精品老女人精品视频| 色偷偷噜噜噜亚洲男人| 国产精品jizz在线观看麻豆| 91中文字幕在线观看| 另类图片亚洲另类| 欧美精品少妇videofree| 久久久久这里只有精品| 日韩精品一二三四区| 亚洲亚裔videos黑人hd| 亚洲跨种族黑人xxx| 久久99久久99精品免观看粉嫩| 岛国av一区二区| 国产成一区二区| 亚洲精品一二区| 国产福利视频一区二区| 国产成人综合精品| 亚洲精品一二区| 丝袜一区二区三区| 欧美日韩国产中文精品字幕自在自线| 8x拔播拔播x8国产精品| 久久久91精品| 国产精品免费一区豆花| 久久视频在线视频| 欧美精品电影免费在线观看| 日韩成人在线播放| 精品视频偷偷看在线观看| 欧美亚洲成人xxx| 国产免费观看久久黄| 最近2019免费中文字幕视频三| 国产亚洲欧美日韩美女| 中国china体内裑精亚洲片| 日本一区二区在线免费播放| 国产精品欧美在线| 超碰97人人做人人爱少妇| 亚洲乱码国产乱码精品精| 亚洲精品一区二区三区婷婷月| 久久国产精品偷| 在线观看国产精品91| 亚洲国产私拍精品国模在线观看| 国产精品一区二区久久久| 国产精品久久久久久久久久三级| 91热福利电影| 精品久久久香蕉免费精品视频| 日韩免费中文字幕| 久久精品视频免费播放| 亚洲一区二区自拍| 一本色道久久88综合日韩精品| 国产在线精品播放| 亚洲精品视频在线播放| 色综合天天狠天天透天天伊人| 国内精品久久久久久中文字幕| 国产成人免费av电影| 日本久久精品视频| 国产精品久久久久久久av大片| 成人h视频在线观看播放| 成人av在线亚洲| 国产精品福利无圣光在线一区| 日韩视频精品在线| 久久久久久免费精品| 美女扒开尿口让男人操亚洲视频网站| 久久久亚洲精品视频| 国产精品一二三在线| 国产成人91久久精品| 91精品视频免费观看| 亚洲天堂av高清| 国产视频亚洲视频| 亚洲国产成人在线播放| 久操成人在线视频| 国产丝袜一区二区| 中文字幕亚洲欧美| 97香蕉超级碰碰久久免费软件| 日本精品免费一区二区三区| 欧美电影免费观看网站| 精品久久香蕉国产线看观看亚洲| 欧美成人免费网| 国产精品9999| 亚洲国产三级网| 国产亚洲免费的视频看| 欧美成人网在线| 91在线中文字幕| 亚洲综合视频1区| 久久中文久久字幕| 亚洲色图35p| 91国内揄拍国内精品对白| 欧美在线视频一二三| 97久久精品在线| 欧美精品久久久久a| 91精品国产精品| 欧美激情videoshd| 国产日韩在线精品av| 国产日韩av高清| 影音先锋欧美在线资源| 精品久久久久久久久久国产| 欧美电影第一页| 日韩一区二区福利| 亚洲人成在线观看网站高清| 91av在线免费观看| 国产精品第七影院| 久久久久久av| 欧美电影免费看| 国产婷婷97碰碰久久人人蜜臀| 日韩精品视频三区| 久青草国产97香蕉在线视频| 欧美激情免费视频| 亚洲人成网站免费播放| 久久久久国产视频| 久久精品成人欧美大片古装| 欧美成人国产va精品日本一级| 欧美一级bbbbb性bbbb喷潮片| 国产97人人超碰caoprom| 成人免费大片黄在线播放| 亚洲人成网站999久久久综合| 亚洲第一偷拍网| 91老司机在线| 成人情趣片在线观看免费| 欧美极品少妇xxxxⅹ免费视频| 日韩精品一区二区视频| 91色视频在线导航| 91视频国产高清| 欧美性开放视频|