検索
ホームページバックエンド開発PHPの問題PHPでgbkをutf8に変換するにはどうすればよいですか?

iconv() 関数は、php で gbk エンコーディングを utf8 エンコーディングに変換するために使用できます。iconv 関数は、既知の文字セット ファイルを別の既知の文字セット ファイルに変換できます。構文形式は「 iconv('GBK '、'UTF-8'、文字列)」。

PHPでgbkをutf8に変換するにはどうすればよいですか?

# 推奨: 「

PHP ビデオ チュートリアル

php で gbk を utf8 に変換する

php では、iconv() 関数を使用して gbk を utf8 に変換できます。

iconv 関数は、既知の文字セット ファイルを別の既知の文字セット ファイルに変換できます。例: GB2312 から UTF-8 に変換します。

iconv 関数は php5 に組み込まれており、GB 文字セットはデフォルトでオンになっています。

例:

<?php
header("Content-type:text/html;charset=GB2312");
echo $str= &#39;你好,这里是gbk转utf8!&#39;;
echo &#39;<br />&#39;;
echo iconv(&#39;GB2312&#39;, &#39;UTF-8&#39;, $str); //将字符串的编码从GB2312转到UTF-8

説明: php iconv 関数

php の iconv 関数ライブラリは、さまざまな文字セット間の変換を完了できます。プログラミングに不可欠な基本的な関数ライブラリですが、場合によっては、理由もなく iconv が一部のデータをトランスコードできない場合があります。たとえば、文字「—」を gb2312 に変換するとエラーが発生します。

この関数の使用法を見てみましょう。

最も単純なアプリケーションでは、gb2312 を utf-8 に置き換えます。

$text=iconv("GB2312","UTF-8",$text);

$text=iconv("UTF-8","GB2312 ", $text) 処理中に、英語名の「—」や「.」などの特殊文字が発生すると、変換は中断されます。これらの文字の後のテキストはそれ以上変換できません。

この問題を解決するには、次のコードを使用します。

$text=iconv("UTF-8","GBK",$text);

お読みのとおり、とても簡単です。gb2312 を使用する代わりに GBK を記述するだけです。

別のメソッド (2 番目のパラメーター) があり、次のように //IGNORE を追加してエラーを無視します。

iconv("UTF-8","GB2312//IGNORE",$data);

これら 2 つのメソッドには具体的な比較はありません。私は、2 番目のパラメーター One (gb2312 の代わりに GBK) アプローチの方が優れていると感じます。

PHP マニュアルの iconv() の説明:

iconv

(PHP 4 > = 4.0.5, PHP 5)
iconv – 文字列を要求された文字エンコーディングに変換する
Description
string iconv ( string in_charset, string out_charset, string str )
string str from in_charset to out_charset. 変換された文字列を返すか、失敗した場合は FALSE を返します。
文字列 //TRANSLIT を out_charset に追加すると、音訳が有効になります。これは、文字がターゲットの文字セットで表現できない場合に、文字変換が有効になることを意味します。 1 つまたは複数の類似した文字によって近似できます。文字列 //IGNORE を追加すると、ターゲットの文字セットで表現できない文字は暗黙的に破棄されます。それ以外の場合、str は最初の不正な文字から切り取られます。

この関数を使用して文字列エンコードを変換する場合、utf-8 を gb2312 に変換すると文字列が切り詰められる可能性があることに注意してください。現時点では、次の方法を使用して問題を解決できます。

$str=iconv(&#39;utf-8&#39;,"gb2312//TRANSLIT",file_get_contents($filepath));

つまり、2 番目のパラメータに赤い部分を追加します。これは、ソース エンコードに一致する文字がターゲット エンコードで見つからない場合を意味します。と似た文字が選択されるので変換してください。ここで //IGNORE パラメーターを使用して、変換できない文字を無視することもできます。

ignore は、変換中のエラーを無視することを意味します。ignore パラメータを指定しないと、この文字に続くすべての文字列を保存できません。

iconv は php のデフォルトの機能ではなく、デフォルトでインストールされるモジュールでもあります。使用する前にインストールする必要があります。

Windows2000 PHP の場合は、php.ini ファイルを変更して、extension=php_iconv.dll の前の「;」を削除します。同時に、元の PHP の下に iconv.dll をコピーする必要があります。インストール ファイルを winnt/system32 の下に置きます (dll がこのディレクトリを指している場合)。 Linux 環境では、静的インストールを使用して、configure 時に項目 --with-iconv を追加するだけです。iconv 項目は phpinfo で確認できます。 (Linux7.3 Apache4.06 php4.3.2)。

mb_convert_encoding 関数と iconv 関数の概要

mb_convert_encodingこの関数は、エンコーディングを変換するために使用されます。以前はプログラムコーディングの概念が理解できませんでしたが、今では少し理解できるようになりました。ただし、通常、英語にはエンコードの問題はなく、中国語のデータのみにこの問題が発生します。たとえば、Zend Studio または Editplus を使用してプログラムを作成するときは、gbk エンコーディングを使用します。データをデータベースに入力する必要があり、データベース エンコーディングが utf8 である場合は、データをエンコードして変換する必要があります。データベースに入るときに文字化けします。

GBK を UTF-8 に作成します:

<?php 
header("content-Type: text/html; charset=Utf-8"); 
echo mb_convert_encoding("妳係我的友仔", "UTF-8", "GBK"); 
?>

次に、GB2312 を Big5 に作成します:

<?php 
header("content-Type: text/html; charset=big5"); 
echo mb_convert_encoding("你是我的朋友", "big5", "GB2312"); 
?>

ただし、上記の関数をインストールする必要がありますが、最初に mbstring 拡張ライブラリを有効にする必要があります。

string mb_convert_encoding ( string str, string to_encoding [,mixed from_encoding] )最初に mbstring 拡張ライブラリを有効にし、; extension=php_mbstring.dll の前にある mb_convert_encoding を削除する必要があります。 php.ini 複数の入力エンコーディングを指定でき、内容に基づいて自動的に識別されますが、実行効率は iconv;

よりもはるかに悪くなります。

string iconv ( string in_charset, string out_charset, string str )注意:第二个参数,除了可以指定要转化到的编码以外,还可以增加两个后缀://TRANSLIT 和 //IGNORE,其中 //TRANSLIT 会自动将不能直接转化的字符变成一个或多个近似的字符,//IGNORE 会忽略掉不能转化的字符,而默认效果是从第一个非法字符截断。

一般情况下用 iconv,只有当遇到无法确定原编码是何种编码,或者iconv转化后无法正常显示时才用mb_convert_encoding 函数。

$content = iconv("GBK", "UTF-8″, $content);
$content = mb_convert_encoding($content, "UTF-8″, "

更多编程相关知识,请访问:编程学习课程!!

以上がPHPでgbkをutf8に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
酸とベースデータベース:違いとそれぞれを使用するタイミング。酸とベースデータベース:違いとそれぞれを使用するタイミング。Mar 26, 2025 pm 04:19 PM

この記事では、酸とベースのデータベースモデルを比較し、その特性と適切なユースケースを詳述しています。酸は、財務およびeコマースアプリケーションに適したデータの整合性と一貫性を優先し、ベースは可用性に焦点を当て、

PHPセキュアファイルアップロード:ファイル関連の脆弱性の防止。PHPセキュアファイルアップロード:ファイル関連の脆弱性の防止。Mar 26, 2025 pm 04:18 PM

この記事では、コードインジェクションのような脆弱性を防ぐために、PHPファイルのアップロードを確保することについて説明します。ファイルタイプの検証、セキュアストレージ、およびアプリケーションセキュリティを強化するエラー処理に焦点を当てています。

PHP入力検証:ベストプラクティス。PHP入力検証:ベストプラクティス。Mar 26, 2025 pm 04:17 PM

記事では、組み込み関数、ホワイトリストアプローチ、サーバー側の検証などの手法に焦点を当てたセキュリティを強化するためのPHP入力検証のベストプラクティスについて説明します。

PHP APIレート制限:実装戦略。PHP APIレート制限:実装戦略。Mar 26, 2025 pm 04:16 PM

この記事では、Token BucketやLeaky BucketなどのアルゴリズムやSymfony/Rate-Limiterなどのライブラリを使用するなど、PHPでAPIレート制限を実装するための戦略について説明します。また、監視、動的に調整されたレートの制限、および手をカバーします

PHPパスワードハッシュ:password_hashおよびpassword_verify。PHPパスワードハッシュ:password_hashおよびpassword_verify。Mar 26, 2025 pm 04:15 PM

この記事では、パスワードを保護するためにPHPでpassword_hashとpassword_verifyを使用することの利点について説明します。主な議論は、これらの関数が自動塩の生成、強力なハッシュアルゴリズム、およびSecurを通じてパスワード保護を強化するということです

OWASPトップ10 PHP:共通の脆弱性を説明し、軽減します。OWASPトップ10 PHP:共通の脆弱性を説明し、軽減します。Mar 26, 2025 pm 04:13 PM

この記事では、PHPおよび緩和戦略におけるOWASPトップ10の脆弱性について説明します。重要な問題には、PHPアプリケーションを監視および保護するための推奨ツールを備えたインジェクション、認証の壊れ、XSSが含まれます。

PHP XSS予防:XSSから保護する方法。PHP XSS予防:XSSから保護する方法。Mar 26, 2025 pm 04:12 PM

この記事では、PHPでのXSS攻撃を防ぐための戦略について説明し、入力の消毒、出力エンコード、セキュリティを向上させるライブラリとフレームワークの使用に焦点を当てています。

PHPインターフェイスvs抽象クラス:それぞれを使用する時期。PHPインターフェイスvs抽象クラス:それぞれを使用する時期。Mar 26, 2025 pm 04:11 PM

この記事では、PHPでのインターフェイスと抽象クラスの使用について説明し、それぞれをいつ使用するかに焦点を当てています。インターフェイスは、無関係なクラスや複数の継承に適した、実装なしで契約を定義します。抽象クラスは共通の機能を提供します

See all articles

ホット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ヘンタイを無料で生成します。

ホットツール

SublimeText3 中国語版

SublimeText3 中国語版

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

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境