


php5.4以降のGBKエンコードでhtmlspecialcharsの出力が空になる問題の解決策まとめ、htmlspecialchars_PHPチュートリアル
php5.4 以降の GBK エンコーディングで htmlspecialchars の出力が空になる問題の解決策のまとめ htmlspecialchars
最も厄介な問題は htmlspecialchars ではないかと思います。もちろん htmlentities も影響を受けますが、中国語の Web サイトでは htmlspecialchars を使用するのが一般的であり、htmlentities はほとんど使用されません。
おそらく外国人は、Web ページは通常 utf-8 でエンコードされるべきだと考えているので、GB2312、GBK エンコードを使用する中国の Web サイトに悩まされているのかもしれません...!
具体的なパフォーマンス:
コードをコピーします コードは次のとおりです:
$str = "9enjoy.com の php バージョンは 5.2.10";
echo htmlspecialchars($str);
gbk 文字セットでの出力は空です...utf-8 では、出力は正常です。
その理由は、5.4.0 でのこの関数の変更にあります。
コードをコピーします コードは次のとおりです:
5.4.0 エンコーディングパラメータのデフォルト値がUTF-8に変更されました
それが何だった?
コードをコピーします コードは次のとおりです:
string htmlspecialchars ( string $string [, int $flags = ENT_COMPAT | ENT_HTML401 [, string $encoding = 'UTF-8' [, bool $double_encode = true ]]] )
変換に使用されるエンコーディングを定義します。省略した場合、この引数のデフォルト値は、PHP 5.4.0 より前のバージョンでは ISO-8859-1、PHP 5.4.0 以降では UTF-8 です。
ISO-8859-1 であることが判明しましたが、5.4 以降はデフォルトで utf-8 になりました。この関数を中国語で使用すると、出力は空白になります。
1. htmlspecialchars を使用するすべてのプログラムを修正するよう努めます
1.1 2 番目の $flags パラメータのデフォルトは ENT_COMPAT なので、
に変更されます
コードをコピーします コードは次のとおりです:
htmlspecialchars($str,ENT_COMPAT,'GB2312');
なぜGBKではないのでしょうか? GBK パラメータがないため、強制的に GBK を使用すると、エラーが報告されます:
コードをコピーします コードは次のとおりです:
警告: htmlspecialchars(): utf-8 を想定した場合、文字セット `gbk' はサポートされていません
GBK を使用するには、次のように変更します:
コードをコピーします コードは次のとおりです:
htmlspecialchars($str,ENT_COMPAT,'ISO-8859-1');
1.2. 同じ手順を変更しますが、パラメータを 1 つ省略できます。
ウェブページの先頭に
を追加できます
コードをコピーします コードは次のとおりです:
ini_set('default_charset','gbk');
次に、それを
に変更します
コードをコピーします コードは次のとおりです:
htmlspecialchars($str,ENT_COMPAT,'');
ドキュメントには次のように記載されています: 空の文字列は、スクリプト エンコーディング (Zend マルチバイト)、default_charset、現在のロケール (nl_langinfo() および setlocale() を参照) からの検出をこの順序で有効にします。
一般的な意味は次のとおりです: 空の文字列が渡されると、default_charset のエンコーディングが使用されます
1.3. 関数をカプセル化する... htmlspecialchars という単語はいつも覚えにくいです。
コードをコピーします コードは次のとおりです:
関数 htmlout($str) {
戻り値 htmlspecialchars($str,ENT_COMPAT,'ISO-8859-1');
}
次に一括置換に進みます。
2. ソースコードを直接変更して再コンパイルします。これは私が現在オンラインで取り組んでいる計画でもあります。
372行目について
コードをコピーします コードは次のとおりです:
/* デフォルトは UTF-8 になりました */
if (charset_hint == NULL)
cs_utf_8 を返します;
cs_utf_8 を cs_8859_1 に変更します
コードをコピーします コードは次のとおりです:
/* デフォルトは UTF-8 になりました */
if (charset_hint == NULL)
cs_8859_1 を返す;
コンパイル後、元のプログラムを調整する必要はまったくありません。
インストール方法については、http://www.bkjia.com/article/63388.htmを参照してください
Windows では何をすればよいですか?これを自分でコンパイルする方法を見つけてみましょう、なかなか難しいです…
彼の言葉を引用すると、コーヒーとコーラを用意してください、準備をしてください、何時間もかかるかもしれません...
http://www.bkjia.com/PHPjc/978728.html

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

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

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

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

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

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

ホットトピック











Go 言語エンコード分析: UTF-8 と GBK の比較 Go 言語では、文字列エンコードの処理は一般的なタスクの 1 つです。その中でも、UTF-8 と GBK の 2 つはよく使用される文字エンコード方式です。この記事では、UTF-8 と GBK を詳細に比較し、その違いと使用法について説明し、具体的なコード例を添付します。 1. UTF-8 と GBK の概要 UTF-8: UTF-8 は、世界中のほぼすべての言語の文字を表現できる可変長 Unicode エンコード方式です。 UTF-8

Empire CMS テンプレートのダウンロード場所: 公式テンプレートのダウンロード: https://www.phome.net/template/ サードパーティのテンプレート Web サイト: https://www.dedecms.com/diy/https://www.0978.com。 cn /https://www.jiaocheng.com/インストール方法: テンプレートをダウンロード テンプレートを解凍 テンプレートをアップロード テンプレートを選択

テンプレートの置換は、次の手順で Dedecms に実装できます: global.cfg ファイルを変更し、必要な言語パックを設定します。 taglib.inc.php フック ファイルを変更し、言語サフィックス テンプレート ファイルのサポートを追加します。言語サフィックスを含む新しいテンプレート ファイルを作成し、必要な内容を変更します。 Dececms キャッシュをクリアします。

Dedecms を使用してローカルビデオをアップロードするにはどうすればよいですか? Dedecms がサポートする形式のビデオ ファイルを準備します。 Dedecms 管理バックエンドにログインし、新しいビデオ カテゴリを作成します。動画管理ページで動画ファイルをアップロードし、関連情報を入力して動画カテゴリを選択します。記事の編集中にビデオを埋め込むには、アップロードしたビデオのファイル名を入力し、サイズを調整します。

Dedecms は、ニュース Web サイト、ブログ、電子商取引 Web サイト、フォーラムおよびコミュニティ Web サイト、教育 Web サイト、ポータル、その他のタイプの Web サイト (企業 Web サイト、個人 Web サイトなど) を含む、さまざまなタイプの Web サイトの作成に使用できるオープン ソース CMS です。ウェブサイト、フォトアルバムウェブサイト、ビデオ共有ウェブサイト)

Dedecms は、コンテンツ管理、テンプレート システム、セキュリティ保護を提供するオープン ソースの中国製 CMS システムです。具体的な使用方法には次の手順が含まれます。 1. Dedecms をインストールします。 2. データベースを構成します。 3. 管理インターフェイスにログインします。 4. コンテンツを作成します。 5. テンプレートを設定します。 6. ユーザーを管理します。 7. システムを保守します。

DedeCMS はオープン ソースのコンテンツ管理システムであり、潜在的な脆弱性とセキュリティ リスクがいくつかあります: 1. SQL インジェクションの脆弱性。攻撃者は悪意のある SQL クエリ ステートメントを構築することで、不正な操作を実行したり、機密データを取得したりできます。2. ファイル アップロードの脆弱性。攻撃者は、次の内容を含むファイルをアップロードできます。悪意のあるコードをサーバーに送信して任意のコードを実行したり、サーバーの権限を取得したりする; 3. 機密情報の漏洩; 4. 認証されていない脆弱性の悪用。

正確で信頼性の高い dedecms 変換ツール評価レポート インターネット時代の急速な発展に伴い、Web サイト構築は多くの企業や個人にとって必要なツールの 1 つになりました。 Web サイト構築において、コンテンツ管理システム (CMS) を使用すると、Web サイトのコンテンツと機能をより便利かつ効率的に管理できます。中でもdedecmsは有名なCMSシステムとして様々なWebサイト構築プロジェクトで広く利用されています。ただし、dedecms Web サイトを他の形式に変換する必要がある場合があります。その場合、変換ツールを使用する必要があります。
