ホームページ >バックエンド開発 >PHPチュートリアル >php_PHP チュートリアルでの iconv 関数の使用法の詳細な紹介

php_PHP チュートリアルでの iconv 関数の使用法の詳細な紹介

WBOY
WBOYオリジナル
2016-07-20 11:03:242582ブラウズ

この記事では、PHP で iconv 関数を使用して文字列エンコーディングを変換する方法と、iconv 関数のバグ分析について詳しく紹介します。必要な友人は参考にしてください。 ​

iconv は php のデフォルトの機能ではなく、デフォルトでインストールされるモジュールでもあります。使用する前にインストールする必要があります。
Windows2000+php の場合は、php.ini ファイルを変更して、extension=php_iconv.dll の前の「;」を削除できます。同時に、元の php インストール ファイル内の iconv.dll を winnt にコピーする必要があります。 /system32

使い方は以下の通りです:

コードは次のとおりです コードをコピー

$string = "親愛なる皆さん、Hu Wenfang のブログへようこそ。少しでもお役に立てれば幸いです!";

iconv("utf8","gbk",$string)//文字列エンコーディングを utf8 から gbk に変換します。


拡張子は次のとおりです:

コードは次のとおりですコードをコピー
echo $str= 'こんにちは、プログラマーの成長過程を記録する胡文芳のブログへようこそ!';

エコー「
」 ';
echo iconv('GB2312', 'UTF-8', $str); //文字列エンコーディングを GB2312 から UTF-8 に変換します
エコー「
」 ';
echo iconv_substr($str, 1, 1, 'UTF-8') // バイト数ではなく文字数で切り詰めます
print_r(iconv_get_encoding()); // 現在のページのエンコーディング情報を取得します
echo iconv_strlen($str, 'UTF-8') // 設定されたエンコーディングの文字列長を取得します
//これも使われています
$content = iconv("UTF-8","gbk//TRANSLIT",$content);

iconv関数には小さなバグがあります

iconv を使用して次の文字列を変換して、効果を確認してください。

コードは次のとおりですコードをコピー
$str="www.bkjia.com,ok!文字列は € です。変換したいです!⊙●○①⊕◎Θ⊙¤?";

echo 'パラメータなし: ', iconv("utf-8", "gbk", $str)."
";

私のコンピューターで返された結果は、最初の特殊文字以降の文字は表示できないというものでした。

iconv には TRANSLIT と IGNORE の 2 つのパラメータがあります。それぞれの意味は TRANSLIT で、元のエンコードをターゲットのエンコードで変換できない場合は、類似した最も近い文字または文字列を見つけて置き換えることを意味します。たとえば、€ です。 IGNORE は EUR です。IGNORE がターゲットの文字セットで変換できない元の文字に遭遇した場合、false を返さずにスキップされ無視されます。

使用方法は次のとおりです:

コードは次のとおりですコードをコピー

これを考慮すると、開発者が不適切に使用した場合に空の文字列が返されることを避けるために、iconv にはデフォルトのパラメーター IGNORE を提供する必要があると思います。


www.bkjia.com本当http://www.bkjia.com/PHPjc/445288.html技術記事この記事では、PHP で iconv 関数を使用して文字列エンコーディングを変換する方法と、iconv 関数のバグ分析について詳しく紹介します。必要な友人は参考にしてください。 iconv は php のデフォルトではありません...
$infocontent=iconv("utf-8","gbk//IGNORE",$infocontent);

または

$infocontent=iconv("utf-8","gbk//TRANSLIT",$infocontent);

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。