PHP json_encode输出josn格式并解决中文乱码
json 数据格式数据用得最多的是与js,flash实时交互用的,那么php怎么返回json数据格式呢,下面我来分析一下实例.
PHP实例代码如下:
<?php header('Content-type: text/json'); $fruits = array ( "fruits" => array("a" => "orange", "b" => "banana", "c" => "apple"), "numbers" => array(1, 2, 3, 4, 5, 6), "holes" => array("first", 5 => "second", "third") ); echo json_encode($fruits); ?>
上面是英文是没有问题,如果是中文就会有问题,解决办法如下.
Json 只支持 utf-8 编码,我认为是前端的 Javascript 也是 utf-8 的原因,代码如下:
<?php $array = array( 'title' => iconv('gb2312', 'utf-8', '这里是中文标题') , 'body' => 'abcd...' ); echo json_encode($array); ?>
//结果如下:
{"title":"u8fd9u91ccu662fu4e2du6587u6807u9898","body":"abcd..."}
利用js来分析这个函数,代码如下:
$(function(){ $('#send').click(function() { $.getJSON('json.php', function(data) { $('#resText').emptyempty(); var html = ''; $.each( data , function(commentIndex, comment) { html += '<div class="comment"><h6 id="nbsp-nbsp-comment-username-nbsp-nbsp">' + comment['username'] + ':</h6><p class="para">' + comment['content'] + '</p></div>'; }) $('#resText').html(html); }) }) })
注意在你的php输出js格式时我们必须是header('Content-type: text/json');这样的头部信息发送,后面加一个完整的可解析中文乱码的问题程序,代码如下:
<?php /************************************************************** * * 使用特定function对数组中所有元素做处理 * @param string &$array 要处理的字符串 * @param string $function 要执行的函数 * @return boolean $apply_to_keys_also 是否也应用到key上 * @access public * *************************************************************/ 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); ?>
本文地址:
转载随意,但请附上文章地址:-)

ホット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 はデフォルトで中国語表示にシステム フォントを使用しますが、システム フォントには中国語の文字が含まれていないことが多いため、適切な中国語フォントを手動で設定する必要があります。まず、コンピュータに次の機能があるかどうかを確認する必要があります。
