ホームページ  >  記事  >  バックエンド開発  >  エンコーディングが 2 つしかない場合、この関数は安全かどうかを教えてください。

エンコーディングが 2 つしかない場合、この関数は安全かどうかを教えてください。

WBOY
WBOYオリジナル
2016-06-13 12:50:53877ブラウズ

エンコーディングが 2 つしかない場合、この関数は安全ですか?
エンコーディングが gbk と utf-8 の 2 つしかない場合、そのエンコーディング形式が安全かどうかを判断する次の関数はありますか?

<br />
function checkEncoding($str)   <br />
{ <br />
	$s = json_encode($str);<br />
	$c = substr($s,0,7);<br />
	if($c == '"\ufeff') return 'utf-8';<br />
	return 'gbk';<br />
} <br />
<br />

-----解決策--------------------------------
どうしてこれが正しいのでしょうか?
abcde0123456789 gbk と utf-8 の場合、バイトコードは全く同じです
-----解決策------ - -
安全ではありません。メモ帳にも仕掛けの罠があります。

実際、安全に使用できるソリューションはありません。
------解決策---------
mb_check_encoding 関数が動作していないのではないでしょうか?
------解決策---------
csdn は十分に悪いので、投稿を編集したいどちらも機能しません。
見つかったリンクを添付します: http://stackoverflow.com/questions/1037363/how-to-check-the-charset-of-string
-----解決策--- --- ---------------

引用:
csdn の調子が悪く、投稿を編集することさえできません。
見つかったリンクを添付します: http://stackoverflow.com/questions/1037363/how-to-check-the-charset-of-string

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