PHPiconv 関数、既知の関数 fx_PHP チュートリアル
PHPiconv 関数、既知の関数 fx
今日オンラインで論文を修正していたときに、iconv 関数に出会いました。詳細については、こちらをご覧ください
header('Content-Type: application/vnd.ms-excel;charset=UTF-8"');
$name=iconv('utf-8', 'gb2312', $data['year' ] .'年、番号'.$data['期間'].'通信');
header('Content-Disposition:attachment;filename="' . $name . '.xls"');
header( 'Cache-Control: max-age=0');
このコードの意味は、utf-8 形式を gb2312 形式に変換し、それを $name に割り当てて、Excel ファイルの名前がエクスポートされるときに、$name の名前は中国語になります
以下はこの関数の詳細な使用方法です
元の URL (www.cnblogs.com/keheng/articles/2496017.html); "UTF-8"," GB2312//IGNORE",$data)
ignore は、変換中にエラーを無視することを意味します。ignore パラメーターがないと、この文字に続くすべての文字列は保存できません。
この iconv() 関数は php5 に組み込まれています。 -in.ありがとうございます。
例:
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 に作成します
< ( "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 拡張ライブラリを有効にする必要があります。
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] )
まず php.ini で、extension=php_mbstring.dll の前の ; を削除する必要があります。 mb_convert_encoding は複数指定できます。内容に基づいて自動的に識別されますが、実行効率は iconv よりもはるかに悪くなります。
string iconv (string in_charset, string out_charset, string str)
注: 2 番目のパラメータエンコーディングに加えて、次の 2 つのサフィックスを追加することもできます。//TRANSLIT と //IGNORE は、直接変換できない文字を 1 つ以上の近似文字に自動的に変換します。変換できない文字は無視され、デフォルトの効果は最初の不正な文字から切り捨てられます。
変換された文字列、または失敗した場合は FALSE を返します。
使用:
文字「-」を gb2312 に変換するときに、iconv がエラーを起こすことがわかりました。ignore パラメーターがないと、この文字に続くすべての文字列を保存できません。この「-」はどうやってもうまく変換できず出力できません。 なお、mb_convert_encoding にはこのバグはありません
通常は、元のエンコーディングがわからない場合、または変換後に iconv が正常に表示されない場合にのみ mb_convert_encoding 関数を使用してください。変換前の文字コード名。配列または文字列 - カンマ区切りの列挙リスト。指定しない場合は、内部エンコーディングが使用されます。
2 /* JIS、eucjp-win、sjis-win からエンコーディングを自動検出します。 Convert str to UCS-2LE */
3 $str = mb_convert_encoding($str, “UCS-2LE”, “JIS, eucjp-win, sjis-win”);
4 /* 「auto」は「ASCII,」に展開されます。 JIS,UTF -8,EUC-JP,SJIS” */
5 $str = mb_convert_encoding($str, “EUC-JP”, “auto”);
例:
1 $content = iconv(” GBK”, "UTF-8″, $content);
2 $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 への文字セット変換を実行し、変換された文字列を返すか、失敗した場合は FALSE を返します。これは、文字がターゲットの文字セットで表現できない場合、文字列 //IGNORE を追加すると、文字セットで表現できない文字を近似できることを意味します。それ以外の場合、str は最初の不正な文字から切り取られます。
http://www.bkjia.com/PHPjc/1011003.html
true

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

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

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

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

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

ホットトピック









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

記事では、PHP 5.3で導入されたPHPの後期静的結合(LSB)について説明し、より柔軟な継承を求める静的メソッドコールのランタイム解像度を可能にします。 LSBの実用的なアプリケーションと潜在的なパフォーマ

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

記事では、入力検証、認証、定期的な更新など、脆弱性から保護するためのフレームワークの重要なセキュリティ機能について説明します。

PHP開発でPHPのCurlライブラリを使用してJSONデータを送信すると、外部APIと対話する必要があることがよくあります。一般的な方法の1つは、Curlライブラリを使用して投稿を送信することです。

この記事では、フレームワークにカスタム機能を追加し、アーキテクチャの理解、拡張ポイントの識別、統合とデバッグのベストプラクティスに焦点を当てています。

ReactPhpの詳細な解釈の非ブロッキング機能の公式紹介は、多くの開発者の質問を呼び起こしました。
