PHPでiconv関数、phpicv関数を使用する方法
iconv関数ライブラリは、さまざまな文字セット間の変換を完了することができ、PHPプログラミングに不可欠な基本的な関数ライブラリです。
1. libiconv 関数ライブラリ http://ftp.gnu.org/pub/gnu/libiconv-1.9.2.tar.gz をダウンロードします。
2. tar -zxvf libiconv-1.9.2.tar.gz を解凍します。 ;
3. libiconv をインストールします #configure --prefix=/usr/local/iconv #make
4. PHP を再コンパイルし、コンパイルパラメータを追加します --with-iconv=/usr/local/iconv
私は現在、Windows で泥棒プログラムを作成しています。iconv 関数を使用して、キャプチャされた utf-8 でエンコードされたページを gb2312 に変換する必要があります。iconv 関数を使用してキャプチャされたデータをトランスコードするだけで、データが変換されることがわかりました。理由もなく少なくなります。しばらく落ち込んでいましたが、インターネットで情報を調べたところ、これは iconv 関数のバグであることがわかりました。 iconv は文字「—」を gb2312 に変換するときにエラーを起こします
解決策は非常に簡単です。つまり、iconv 関数の 2 番目のパラメーターである、変換する必要があるエンコーディングの後に「//IGNORE」を追加します。以下:
以下引用 内容:
コードをコピーします
コードは次のとおりです。
コードをコピーします コードは次のとおりです。
echo $str= 'こんにちは、ここでコーヒーを販売しています!';
echo '
';
echo iconv('GB2312', 'UTF-8', $str); /文字列のエンコーディングを GB2312 から UTF-8 に変換します
echo '
'
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 は php のデフォルトの機能ではなく、デフォルトでインストールされるモジュールでもあります。使用する前にインストールする必要があります。
Windows2000+phpの場合は、php.iniファイルを変更して、extension=php_iconv.dllの前の「;」を削除できます。同時に、元のphpインストールファイル内のiconv.dllをコピーする必要があります。 winnt/system32 (DLL がこのディレクトリを指している場合)
Linux 環境では、静的インストールを使用し、configure で iconv 項目を参照できるように追加の項目 --with-iconv を追加します。 (Linux7.3+Apache4.06+php4.3.2)、
ダウンロード: ftp://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.8.tar.gz
インストール:
#cp libiconv-1.8 .tar.gz /usr/local/src
#tar zxvf lib*
#./configure --prefix=/usr/local/libiconv
#make
#make install
Compile php
#./configure --prefix= /usr/local/php4.3.2 --with-iconv=/usr/local/libiconv/
簡単な使用例:
echo iconv("gb2312","ISO-8859-1") ,"we");
?>
PHP の mb_convert_encoding 関数と iconv 関数の概要
mb_convert_encoding この関数はエンコーディングを変換するために使用されます。私はプログラムコーディングの概念を理解していませんでしたが、今では少し理解できるようになりました。 ただし、一般的に英語にはエンコードの問題はなく、中国語のデータのみにこの問題が発生します。たとえば、Zend Studio または Editplus を使用してプログラムを作成する場合、データをデータベースに入力する必要があり、データベース エンコードが utf8 である場合は、データをエンコードして変換する必要があります。そうでない場合は、データをエンコードして変換する必要があります。データベースに入るときに文字化けします。
mb_convert_encoding の公式の使用法を参照してください:
http://cn.php.net/manual/zh/function.mb-convert-encoding.php
GBK を UTF-8 に変換する
echo mb_convert_encoding("あなたは私の友達です", "UTF-8", "GBK");
Big5 への別の GB2312 header("content-Type: text/html; charset=big5");
echo mb_convert_encoding("あなたは私の友達です", "big5", "GB2312")>上記の関数を使用するには、まず mbstring 拡張ライブラリをインストールして有効にする必要があります。
PHP の別の関数 iconv も文字列エンコーディングの変換に使用され、その関数は上記の関数と似ています。
以下にいくつかの詳細な例があります:
iconv — 文字列を要求された文字エンコーディングに変換します
(PHP 4 >= 4.0.5, PHP 5)
mb_convert_encoding — 文字エンコーディングを変換します
(PHP 4 >= 4.0.6, PHP 5)
使用法:
string mb_convert_encoding ( string str, string to_encoding [,mixed from_encoding] )
まず mbstring 拡張ライブラリを有効にする必要があります。php.ini で extension=php_mbstring.dll の前にある ; を削除します。複数の入力エンコーディングを指定すると、内容に応じて自動的に識別されますが、実行効率は iconv よりもはるかに悪くなります
string iconv (string in_charset, string out_charset, string str)
注: 2 番目のパラメータは、エンコーディングに加えて、//TRANSLIT と //IGNORE という 2 つのサフィックスを追加することもできます。 //TRANSLIT は、1 つ以上の近似文字に直接変換できない文字を自動的に変換します。 //IGNORE は文字を無視します。変換できない文字であり、デフォルトの効果は最初の不正な文字から切り捨てられます。
変換された文字列、または失敗した場合は FALSE を返します。
使用:
文字「-」を gb2312 に変換するときに、iconv がエラーを起こすことがわかりました。ignore パラメーターがないと、この文字に続くすべての文字列を保存できません。この「-」はどうやってもうまく変換できず出力できません。 なお、mb_convert_encoding にはこのバグはなく、一般的に mb_convert_encoding 関数は元のエンコードが判別できない場合や、変換前の文字コード名で iconv を指定した場合にのみ使用されます。配列または文字列 - 指定されていない場合は、内部エンコードが使用されます。/* JIS、eucjp-win、sjis-win からエンコードを自動検出し、str を UCS-2LE に変換します */
$str = mb_convert_encoding($str, “UCS-2LE”, “JIS, eucjp-win, sjis-win ”);
/* 「auto」は「ASCII,JIS,UTF-8,EUC-JP,SJIS」に展開されます */
$str = mb_convert_encoding($str, “EUC-JP”, “auto”);
例:
$content = iconv("GBK", "UTF-8", $content);
$content = mb_convert_encoding($content, "UTF-8", "GBK");
PHP で iconv を使用する関数を使用する際に見落としやすいパラメータ
今日、キャプチャしたコンテンツを処理するときに、iconv を使用してエンコード変換を行うと、結果が途切れることがわかりました。文字セットの問題ではないかと思います。はターゲットの文字セットに存在しません。マニュアルを確認したところ、iconv 関数には 3 つのパラメータしかなく、機能しないようでした。その後、インターネットで調べたところ、できると誰かが書いていましたが、その実装方法には非常に驚きました。最後に、英語の説明に「TRANSLIT」というラベルを追加できることがわかりました。どうやって追加するのですか?最初に「//」が追加されていることがわかり、これは非常に憂鬱ですプロトタイプ: $txtContent = iconv("utf-8",'GBK',$txtContent); 特別なパラメーター: iconv ("UTF-8 ","GB2312//IGNORE",$data)
2 つのオプションの補助パラメータ: TRANSLIT と IGNORE (IGNORE は、変換できないものに遭遇した場合にスキップすることを意味します)。説明
string iconv ( string in_charset, string out_charset, string str )
文字列 str に対して in_charset から out_charset への文字セット変換を実行します。
文字列 //TRANSLIT を追加した場合は FALSE を返します。これは、文字がターゲットの文字セットで表現できない場合、文字列 //IGNORE を追加すると、文字セットで表現できない文字を近似できることを意味します。それ以外の場合、str は最初の不正な文字から切り取られます。

多くの場合、キーワードと追跡パラメーターで散らかった長いURLは、訪問者を阻止できます。 URL短縮スクリプトはソリューションを提供し、ソーシャルメディアやその他のプラットフォームに最適な簡潔なリンクを作成します。 これらのスクリプトは、個々のWebサイトにとって価値があります

2012年のFacebookによる有名な買収に続いて、Instagramはサードパーティの使用のために2セットのAPIを採用しました。これらはInstagramグラフAPIとInstagram Basic Display APIです。

Laravelは、直感的なフラッシュメソッドを使用して、一時的なセッションデータの処理を簡素化します。これは、アプリケーション内に簡単なメッセージ、アラート、または通知を表示するのに最適です。 データは、デフォルトで次の要求のためにのみ持続します。 $リクエスト -

これは、LaravelバックエンドとのReactアプリケーションの構築に関するシリーズの2番目と最終部分です。シリーズの最初の部分では、基本的な製品上場アプリケーションのためにLaravelを使用してRESTFUL APIを作成しました。このチュートリアルでは、開発者になります

Laravelは簡潔なHTTP応答シミュレーション構文を提供し、HTTP相互作用テストを簡素化します。このアプローチは、テストシミュレーションをより直感的にしながら、コード冗長性を大幅に削減します。 基本的な実装は、さまざまな応答タイプのショートカットを提供します。 Illuminate \ support \ facades \ httpを使用します。 http :: fake([[ 'google.com' => 'hello world'、 'github.com' => ['foo' => 'bar']、 'forge.laravel.com' =>

PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

顧客の最も差し迫った問題にリアルタイムでインスタントソリューションを提供したいですか? ライブチャットを使用すると、顧客とのリアルタイムな会話を行い、すぐに問題を解決できます。それはあなたがあなたのカスタムにより速いサービスを提供することを可能にします

2025 PHP Landscape Surveyは、現在のPHP開発動向を調査しています。 開発者や企業に洞察を提供することを目的とした、フレームワークの使用、展開方法、および課題を調査します。 この調査では、現代のPHP Versioの成長が予想されています


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

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

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません
