奶头挺立呻吟高潮av全片,成人试看120秒体验区,性欧美极品v,A片高潮抽搐揉捏奶头视频

php語(yǔ)言

php處理json時(shí)中文問(wèn)題的解決方法

時(shí)間:2024-09-27 06:46:18 php語(yǔ)言 我要投稿
  • 相關(guān)推薦

php處理json時(shí)中文問(wèn)題的解決方法

  在項(xiàng)目里面用到j(luò)son操作,之前測(cè)試都是很正常的,但有時(shí)候把對(duì)象轉(zhuǎn)換成json的時(shí)候,其中有個(gè)中文屬性變成了null.遇到這種情況怎么辦呢?下面小編為大家整理了php處理json時(shí)中文問(wèn)題的解決方法,希望能幫到大家!

  操作的代碼如下:

  復(fù)制代碼 代碼如下:

  $usr = new User();

  echo json_encode($usr);

  ?>

  很簡(jiǎn)單的代碼,無(wú)中文情況一切正常,輸出如下:

  {"PlatformID":"123213","UserID":"1023"}

  一旦有中文的時(shí)候會(huì)出現(xiàn)兩種情況。

  第一種情況是對(duì)象本身的某個(gè)值為中文的屬性是utf-8編碼,則會(huì)有如下輸出:

  {"PlatformID":"123213","UserID":"1023","UserName":"u00b7u00f0u00b5u00b2u00c9u00b1u00b7u00f0u00ccu00fc"}

  其中的UserName是非人類語(yǔ)言,這個(gè)是正常的,如果我們用firebug看下就是中文的。(這個(gè)糾結(jié)了我半天)

  第二種情況是非utf-8編碼,輸出會(huì)變成null:

  {"PlatformID":"123213","UserID":"1023","UserName":null}

  很奇怪,查了手冊(cè)后知道json_encode是只對(duì)utf-8有效,其它編碼均會(huì)變?yōu)閚ull.

  下面就開(kāi)始解決編碼轉(zhuǎn)化的問(wèn)題。

  在php.net上看到別人的函數(shù)如下:

  復(fù)制代碼 代碼如下:

  private function to_utf8($in)

  {

  if (is_array($in)) {

  foreach ($in as $key => $value)

  {

  $out[$this->to_utf8($key)] = $this->to_utf8($value);

  }

  }

  elseif(is_string($in))

  {

  if(mb_detect_encoding($in) != "UTF-8")

  return utf8_encode($in);

  else

  return $in;

  }

  else

  {

  return $in;

  }

  return $out;

  }

  于是拿下來(lái)轉(zhuǎn)換編碼發(fā)現(xiàn)已經(jīng)不為null.欣喜之下用firebug打開(kāi),發(fā)現(xiàn)并不是我原來(lái)的中文字符....開(kāi)始糾結(jié)......

  難道是要讓他轉(zhuǎn)換成原來(lái)的編碼?回去尋找原始編碼......

  測(cè)試開(kāi)始:

  1.把$usr->UserName直接輸出,頁(yè)面頭設(shè)置charset=utf-8.亂碼

  2.echo json_encode($usr)輸出UserName=null

  3.頁(yè)面頭設(shè)置為charset=gbk,輸出正確->可以確定原編碼為gbk

  最后通過(guò)IE,Chrome,Firefox測(cè)試得出結(jié)論:

  1.保證頁(yè)面字符集與數(shù)據(jù)庫(kù)一致,輸出一定正常 。

  2.做json_encode時(shí)保證數(shù)據(jù)編碼是utf-8,json_decode正常。

  3.如果要對(duì)非utf-8字符做json_encode,先轉(zhuǎn)換成utf-8。

  4.對(duì)非utf-8字符做json_decode的時(shí)候,千萬(wàn)不能忘記轉(zhuǎn)換成原先的編碼,否則會(huì)輸出亂碼!

【php處理json時(shí)中文問(wèn)題的解決方法】相關(guān)文章:

PHP中json-encode格式中文問(wèn)題解決辦法10-27

關(guān)于php中文亂碼的解決方法07-09

完美解決PHP中文亂碼問(wèn)題07-18

PHP處理Ajax請(qǐng)求與Ajax跨域問(wèn)題05-26

php中序列化和json使用方法10-28

PHP怎么處理密碼08-28

PHP處理密碼的方式10-10

PHP浮點(diǎn)型的數(shù)據(jù)的解決方法09-29

PHP解決session死鎖的解決方法09-17

如何處理PHP異常10-30

主站蜘蛛池模板: 滨海县| 满洲里市| 维西| 商丘市| 普定县| 东港市| 柞水县| 尉犁县| 扎鲁特旗| 福贡县| 通渭县| 张家口市| 莱阳市| 河源市| 张掖市| 汽车| 岢岚县| 盱眙县| 亳州市| 崇仁县| 光山县| 宁海县| 吴江市| 无为县| 周宁县| 安吉县| 屯门区| 民丰县| 祥云县| 六枝特区| 隆子县| 马尔康县| 金沙县| 宁安市| 交口县| 灵川县| 招远市| 且末县| 高安市| 建平县| 房产|