ホームページ  >  記事  >  バックエンド開発  >  PHP 文字列エンコーディングのいくつかの一般的な方法 変換_PHP チュートリアル

PHP 文字列エンコーディングのいくつかの一般的な方法 変換_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:54:58839ブラウズ

phpチュートリアルの文字列エンコード変換のいくつかの一般的な方法

mb_convert_encoding()
PHPの内部コード変換関数
バージョン (PHP 4 >= 4.0.6、PHP 5)
この関数はさまざまなエンコーディングを相互に変換できます

GBK を UTF-8 に作成する
< ?php
header("content-Type: text/html; charset=Utf-8"); echo mb_convert_encoding("あなたは私の友達です", "UTF-8", "GBK"); ?>

Big5 への別の GB2312

< ?php

header("content-Type: text/html; charset=big5"); echo mb_convert_encoding("あなたは私の友達です", "big5", "GB2312"); ?>


iconv()
PHPの内部コード変換関数、同上

iconv()はgb2312を変換する際にバグがあるため、このように処理する必要があります


PHP codeiconv( "UTF-8", "gb2312//IGNORE" , $str)

ignore は、変換中にエラーを無視することを意味します。

がない場合、iconv は文字「—」を gb2312 に変換するときにエラーが発生することがわかります。

パラメータを無視すると、この文字に続くすべての文字列は保存できません。

さらに、mb_convert_encoding にはこのバグがないため、次のように記述するのが最善です:

PHP codemb_convert_encoding($str,"gb2312", "UTF-8");

ただし、最初に mbstring 拡張ライブラリを有効にする必要があります。
mysql チュートリアル データベース チュートリアルの照合順序を utf-8 に設定することもでき、変換には使用されません
3 つの mysql マントラ

SQLコード

名前を設定 utf8;
文字を設定 utf8;
SET COLLATION_CONNECTION='utf8_general_ci';


カスタム機能1
-------------------------------------------------- ----------------------------------

---
GB2312を変換する関数をネットで見つけてutf-8に修正したら変換エラーが出て中国語が解析できなくなりました…楽しみです

狂人…

PHP コード 関数エスケープ($str) {

Preg_match_all("/[x80-xff].|[x01-x7f]+/",$str,$r);

$ar = $r[0];
foreach($ar as $k=>$v) {
If(ord($v[0]) $ar[$k] = rawurlencode($v);
その他
$ar[$k] = "%u".bin2hex(iconv("GB2312","UCS-2",$v));
                                                                   return join("",$ar);
}

関数 unescape($str) {
$str = rawurldecode($str);
Preg_match_all("/(?:%u.{4})|.+/",$str,$r);
$ar = $r[0];

foreach($ar as $k=>$v) {

If(substr($v,0,2) == "%u" && strlen($v) == 6)
$ar[$k] = iconv("UCS-2","GB2312",pack("H4",substr($v,-4)));
}
return join("",$ar);
}
?>


カスタム機能2
-------------------------------------------------- ----------------------------------

---

フォーラム gingzai777 のおかげで、専門家は違います。彼らは一目で問題を理解できます...
将来的には、これを PHP フィルタリングに使用できるようになり、ファイルのエンコードについて心配する必要がなくなります...
PHP コード 関数 addlashes_str($str){

$str=addslashes($str);
$str=str_replace($str,";",';');
$str;
を返します }
関数ストリップのチュートリアル lashes_str($str){
$str=ストリップスラッシュ($str);
$str=str_replace($str,';',";");
$str;
を返します }
?>

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/632291.html技術記事 PHP チュートリアルでの文字列エンコーディング変換のいくつかの一般的な方法 mb_convert_encoding() PHP の内部コード変換関数のバージョン (PHP 4 = 4.0.6、PHP 5) この関数は、さまざまなエンコーディングを相互に変換して...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。