ホームページ バックエンド開発 PHPチュートリアル 真的出鬼了!PHP接收网址中的中文参数,永远乱码!解决办法

真的出鬼了!PHP接收网址中的中文参数,永远乱码!解决办法

Jun 13, 2016 am 10:06 AM
php tag urldecode

真的出鬼了!PHP接收网址中的中文参数,永远乱码!
就一个简简单单的文件 kw.php 文件全部内容如下:

PHP code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><?php print_r($_GET);
ログイン後にコピー


文件 kw.php的文件编码UltreEdit另存为UTF-8 NONE BOM头,网页编码UTF-8

+++++++++++++++++++++++++++++++++++++++++++++++++
情况如下:
(1)浏览器firefox,网址为 kw.php?kw=中国人民解放军
(或自动变成 kw.php?kw=%D6%D0%B9%FA%C8%CB%C3%F1%BD%E2%B7%C5)输出的kw的值是乱码的,然后把浏览器的编码调整为GBK系列或者GB2312系列的,显示正常。
点击浏览器查看当前文档的编码,编码是UTF-8。[IE浏览器也是一样乱码,非得把浏览器调成GBK编码查看,才显示出原来的文字]

(2)浏览器firefox,将kw.php的文档另存为ANSI编码,输入这些都显示正常了。……

很奇怪啊。以前从来都没遇到过这样的事情,都是直接 urlencode,然后接受直接urldecode的,网页编码UTF-8,文档编码 UTF-8 NONE BOM HEADER的,今天却突然发生了这样的情况,在远处服务器上面测试和在本地测试都是这样,在家里的电脑里面和公司的电脑里面测试都是这样的,乱码的……
真的是出鬼了啊。以前出现这样的情况,网页编码和文档编码都统一称为UTF-8的就都没事情了。
现在却死活不行……


------解决方案--------------------
(1)远程服务器里面:用urldecode 得到的tag参数还必须换成 UTF-8编码的转码一次。

被接收的URL系统是否GBK ,远程服务器是否UTF-8;这样可能出现乱码

(2)本地localhost里:直接用urldecode 就可以得到tag参数的值,无需转码。

本地编码环境一致

------解决方案--------------------
探讨
是这样,a.php里面有一个连接 是 中国人民解放军,但是在 tags.php里面却
(1)远程服务器里面:用urldecode 得到的tag参数还必须换成 UTF-8编码的转码一次。
(2)本地localhost里:直接用urldecode 就可以得到tag参数的值,无需转码。

另外我发现这些编码都被变成了GB系列的URLENCODE编码,很奇怪的。


------解决方案--------------------
兄弟糾結了半年了還在糾結?

答案就在你的條件裏
远程是linux 系统 Apache 的。
我本地 WIN XP ,Apache 系统的。

我曾經在以前碰過,兩臺服務器,一臺linux 一臺win,一樣是編碼問題 然後需要不同的處理。具體應該是跟系統的字符集什麼的有關,上面有人說了。
------解决方案--------------------
机器是不会骗人的。不会见鬼,只是见bug.
让你们管运维的。把这个配置去了就行。
AddDefaultCharset UTF-8
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

CakePHP プロジェクトの構成 CakePHP プロジェクトの構成 Sep 10, 2024 pm 05:25 PM

この章では、CakePHP の環境変数、一般設定、データベース設定、電子メール設定について理解します。

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

この章では、ルーティングに関連する次のトピックを学習します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

See all articles