PHP 文字列エンコーディングを変換する方法の簡単な分析

PHPz
リリース: 2023-03-27 19:22:16
オリジナル
1306 人が閲覧しました

Web 開発のプロセスでは、ISO-8859-1 でエンコードされた文字列を UTF-8 でエンコードされた文字列に変換するなど、文字列エンコードを変換する必要がある状況によく遭遇します。 PHP では、文字列エンコード変換の問題を処理するためにいくつかの関数が提供されています。この記事では、PHP を使用して文字列エンコーディングを別のエンコーディングに変換する方法を説明します。

  1. mb_convert_encoding 関数

mb_convert_encoding 関数は、文字列エンコーディングの変換に使用される PHP の関数の 1 つです。この関数は、文字列をあるエンコーディングから別のエンコーディングに変換します。関数の構文は次のとおりです。

string mb_convert_encoding ( string $str , string $to_encoding [, mixed $from_encoding = mb_internal_encoding() ] )
ログイン後にコピー

このうち、$str パラメータはエンコードして変換する必要がある文字列、$to_encoding パラメータは変換後のターゲット エンコーディング、$from_encoding パラメータは$str で現在使用されているエンコード形式を示します。指定しない場合は、mb_internal_encoding() で指定されたエンコード形式がデフォルトで使用されます。

次は、ISO-8859-1 でエンコードされた文字列を UTF-8 でエンコードされた文字列に変換するサンプル コードです:

$str = "Hello, 你好!"; $str_utf8 = mb_convert_encoding($str, "UTF-8", "ISO-8859-1"); echo $str_utf8;
ログイン後にコピー

出力結果は次のとおりです:

Hello, 你好!
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
  1. iconv 関数

iconv 関数も PHP で文字列エンコード変換に使用される関数の 1 つです。この関数は、文字列をあるエンコーディングから別のエンコーディングに変換します。関数の構文は次のとおりです。

string iconv ( string $in_charset , string $out_charset , string $str )
ログイン後にコピー

このうち、$in_charset パラメータは $str が現在使用しているエンコード形式を示し、$out_charset パラメータは変換後のターゲット エンコードを示し、$str パラメータはエンコードする必要がある文字列。

次は、ISO-8859-1 でエンコードされた文字列を UTF-8 でエンコードされた文字列に変換するサンプル コードです:

$str = "Hello, 你好!"; $str_utf8 = iconv("ISO-8859-1", "UTF-8", $str); echo $str_utf8;
ログイン後にコピー

出力結果は次のとおりです:

Hello, 你好!
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
  1. mb_string ライブラリを使用する

PHP には mb_string ライブラリも用意されており、文字列トランスコーディングなどのマルチバイト文字セットを処理するための一連の関数が提供されます。たとえば、mb_convert_variables 関数は、1 つ以上の変数をある文字列エンコーディングから別の文字列エンコーディングに変換できます。関数の構文は次のとおりです。

mixed mb_convert_variables ( string $to_encoding , mixed $from_encoding , mixed &$vars [, mixed &...$vars ] )
ログイン後にコピー

このうち、$to_encoding パラメータは変換後のターゲット エンコーディング、$from_encoding パラメータは $vars 配列内の文字列の現在のエンコード形式を示し、 $vars パラメータはエンコードする必要がある文字列です。変数は複数の変数をサポートします。

次は、2 つの ISO-8859-1 エンコード文字列を UTF-8 エンコード文字列に変換するサンプル コードです:

$str1 = "Hello, "; $str2 = "你好!"; mb_convert_variables("UTF-8", "ISO-8859-1", $str1, $str2); echo $str1 . $str2;
ログイン後にコピー

出力結果は次のとおりです:

Hello, 你好!
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

概要

PHP には、文字列エンコード変換を処理するためのさまざまな関数が用意されており、開発者は実際のニーズに基づいて適切な方法を選択して実装できます。なお、文字列エンコード変換を行う場合は、変換対象の文字列の現在のエンコード形式と変換先のエンコード形式が正しいことを確認する必要があります。

以上がPHP 文字列エンコーディングを変換する方法の簡単な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!