php json_encode实现与中文乱码解决方法
php 中使用 json_encode() 内置函数(php > 5.2)可以使用得 php 中数据可以与其它语言很好的传递并且使用它,这个函数的功能是将数值转换成json数据存储格式.
<?php $arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5); echo json_encode($arr); //结果 //{"a":1,"b":2,"c":3,"d":4,"e":5} ?>
下面看一款json_encode中文乱码问题:
解决方法是用urlencode()函数处理以下,在json_encode之前,把所有数组内所有内容都用urlencode()处理一下,然用json_encode()转换成json字符串,最后再用urldecode()将编码过的中文转回来.
<?php function arrayrecursive(&$array, $function, $apply_to_keys_also = false) { static $recursive_counter = 0; if (++$recursive_counter > 1000) { die('possible deep recursion attack'); } foreach ($array as $key => $value) { if (is_array($value)) { arrayrecursive($array[$key], $function, $apply_to_keys_also); } else { $array[$key] = $function($value); } if ($apply_to_keys_also && is_string($key)) { $new_key = $function($key); if ($new_key != $key) { $array[$new_key] = $array[$key]; unset($array[$key]); } } } $recursive_counter--; } /************************************************************** * * 将数组转换为json字符串(兼容中文) * @param array $array 要转换的数组 * @return string 转换得到的json字符串 * @access public * *************************************************************/ function json($array) { arrayrecursive($array, 'urlencode', true); $json = json_encode($array); return urldecode($json); } $array = array( 'name' => '希亚', 'age' => 20 ); echo json($array); ?>
应用实例:
<?php $servname = "localhost"; $sqlservname = "root"; $sqlservpws = "123456"; $sqlname = "lock1"; $db = mysql_connect($servname, $sqlservname, $sqlservpws) or die("数据库连接失败"); mysql_select_db($sqlname, $db); $sql = "select * from t_operater"; $result = mysql_query($sql); $rows = mysql_num_rows($result); while ($obj = mysql_fetch_object($result)) { $arr[] = $obj; } echo '({"total":"' . $rows . '","results":' . json_encode($arr) . '})'; ?>

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック

PHPDompdf の中国語文字化け問題を解決する方法 PHPDompdf は、HTML 文書を PDF ファイルに変換するツールで、強力で使いやすいです。ただし、中国語のコンテンツを処理すると、中国語の文字化けの問題が発生することがあります。この記事では、PHPDompdf の中国語文字化け問題を解決するいくつかの方法と具体的なコード例を紹介します。 1. フォント ファイルを使用して中国語コンテンツを処理する場合、よくある問題は、Dompdf がデフォルトで中国語コンテンツをサポートしていないことです。

PyCharm の中国語文字化けの問題を解決する究極の方法には、特定のコード例が必要です。はじめに: PyCharm は、一般的に使用される Python 統合開発環境 (IDE) として、強力な機能とフレンドリーなユーザー インターフェイスを備えており、多くの人に愛され、使用されています。開発者の大多数。ただし、PyCharm が中国語の文字を処理すると、文字化けが発生する場合があり、開発やデバッグで特定の問題が発生します。この記事では、PyCharmの中国語文字化け問題の解決方法と具体的なコード例を紹介します。 1. プロジェクトをセットアップする

MySQL インストール時に中国語が文字化けする一般的な原因と解決策 MySQL は一般的に使用されるリレーショナル データベース管理システムですが、使用中に中国語の文字化けの問題が発生し、開発者やシステム管理者を悩ませることがあります。中国語の文字化けの問題は、主に文字セットの設定が間違っていることや、データベースサーバーとクライアントの間で文字セットが一致していないことが原因で発生します。この記事では、MySQL インストールにおける中国語の文字化けの一般的な原因と解決策を詳しく紹介し、誰もがこの問題をよりよく解決できるようにします。 1. よくある理由: 文字セットの設定

ajax で中国語の文字化けを送信する場合の解決策: 1. 統一されたエンコード方式を設定する; 2. サーバー側のエンコード; 3. クライアント側のデコード; 4. HTTP 応答ヘッダーの設定; 5. JSON 形式を使用する。詳細な導入: 1. 統一されたエンコード方式を設定して、サーバーとクライアントが同じエンコード方式を使用するようにします。通常の状況では、UTF-8 は複数の言語と文字セットをサポートできるため、一般的に使用されるエンコード方式です。 2 、サーバー側のエンコード: サーバー側で、中国語データが正しいエンコード方法でエンコードされてからクライアントなどに渡されることを確認します。

PHP Webページの中国語文字化け問題は、Webページ表示時に中国語の文字が文字化けして表示される問題で、エンコーディングの不一致や文字セットが設定されていないことが原因で発生することが多いです。 PHP Web ページの中国語文字化けの問題を解決するには、さまざまな側面から始める必要があります。以下に、一般的な解決策と具体的なコード例をいくつか示します。 PHP ファイルのエンコードを設定する: まず、PHP ファイル自体のエンコードが UTF-8 であることを確認します。エディタで保存するときに UTF-8 エンコードを設定するか、PHP ファイルのヘッダーに次のコードを追加して設定することができますエンコーディング: &l

Linux の中国語文字化けの問題は、多くの中国人ユーザーが Linux システムを使用するときによく遭遇する問題です。中国語の文字化けの主な原因は、Linux システムで使用されるデフォルトの文字エンコーディングが UTF-8 であることですが、一部のソフトウェアやアプリケーションが UTF-8 エンコーディングと互換性がないため、中国語の文字が正しく表示されないことがあります。この問題を解決するには多くの方法がありますが、いくつかの一般的な解決策を以下で詳しく説明し、具体的なコード例を示します。端末の文字エンコーディング設定を変更する: 端末の文字エンコーディング設定によって、端末が正しく動作できるかどうかが決まります。

Eclipse で中国語の文字化けを迅速に解決するための実践的なヒントには、特定のコード サンプルが必要です。 概要: Eclipse は、複数のプログラミング言語の開発をサポートするだけでなく、複数のオペレーティング システムもサポートする、広く使用されている統合開発環境 (IDE) です。しかし、Eclipseを使用していると時折中国語の文字化けが発生し、開発作業に不便をもたらすことがあります。この記事では、Eclipse における中国語の文字化けの問題を迅速に解決するための実践的なテクニックを、具体的なコード例を交えて紹介します。 1つ、

matplotlibの中国語文字化けを素早く解決する効果的な方法 はじめに: matplotlibはPythonでよく使われる描画ライブラリですが、注釈や表示に中国語を使用すると文字化けがよく発生します。この記事では、いくつかの効果的な回避策を紹介し、具体的なコード例を示します。 1. フォントを設定します。matplotlib はデフォルトで中国語表示にシステム フォントを使用しますが、システム フォントには中国語の文字が含まれていないことが多いため、適切な中国語フォントを手動で設定する必要があります。まず、コンピュータに次の機能があるかどうかを確認する必要があります。
