ファイルシステムのエンコーディングのオペレーティングシステムをデフォルトとして検出したいのですが、異なる言語バージョンのWindows OSのように、別のエンコーディングを使用します(iso-8859-1、ms950、big5、gb2312..etc) PHPのエンコーディングの異なるオペレーティングシステムですか?何か案が?ありがとう。PHPでオペレーティングシステムのエンコーディングを検出するには?
7
A
答えて
0
なぜmb_detect_encoding()を使用しないのですか?
1
Linuxにはエンコードがありません。ファイル名はバイナリ文字列で保存され、何かを含むことがあります。特定のエンコーディングでそれを解釈することは、アプリケーションに依存します。ほとんどの場合、これは単純にUTF-8になります。しかし、確かに、それはファイル名の 'ビューア'に依存します。残念ながら、私はそれが窓の上にあるものはお答えできません
D.
フォームUTF-8正規化を使用するOS/Xのファイルシステムへのアクセス。内部的には、UTF-16のバリエーションとして保存されていますが、私のマシン上でPHP経由でアクセスするのは、apiはCP-1252ですが、これは言語に依存します。
0
その後
0
ファイルシステムがはエンコーディングの種類を持っていない、各ファイルがエンコーディングの異なる種類を使用することができますので、あなたが必要とするすべてを見つけるのであるをコードするコード・ページを変換する必要がある
print_r(explode(";", setlocale(LC_ALL, 0)));
をお試しくださいファイル名文字列を処理するための正しいエンコーディング。
ファイル名のエンコーディングを検出するには、そのファイル名を既知のすべてのエンコードリストに変換し、元のファイル名の文字列と変換された文字列を比較するだけです。等しいならば、エンコーディングは探しているものです。 。
文字列をある種のエンコーディングに変換します。This wayを使用します。この作業を行うには、次のコードを参考にしてください。
function getActuallEncoding($text) {
$encodingList = array('UTF-8', 'gb2312', 'ISO-8859-1', 'big5'); // Add more if you need.
foreach($encodingList as $oneEncode) {
$oneResult = iconv(mb_detect_encoding($text, mb_detect_order(), true), $oneEncode, $text);
if(md5($oneResult) == md5($text)) return $oneEncode;
}
return "UNKNOWN"; // This return value may cause problem, just let you know.
}
希望します。
関連する問題
- 1. オペレーティングシステムを検出する
- 2. Clojureでオペレーティングシステムを検出
- 3. base64エンコーディングを検出する
- 4. 異なるオペレーティングシステムとプラットフォームの検出
- 5. 実行中のオペレーティングシステムを検出する方法は?
- 6. オペレーティングシステムを検出するマクロはありますか?
- 7. マルチバイト文字エンコーディングの検出
- 8. XMLファイルのエンコーディングを最適に検出する方法は?
- 9. オペレーティングシステムでのファイル検索
- 10. GENTOOオペレーティングシステムのApache WebサーバーでPHPを設定するには?
- 11. オペレーティングシステムがサーバー2008 r2、2008 spなどを検出する方法
- 12. 文字セットのエンコーディングを検出する方法は?
- 13. C/C++で文字列のエンコーディングを検出する
- 14. A DBFからのエンコーディングを検出する
- 15. PHPで現在のIISのバージョンを検出するには?
- 16. PHPでPEARをプログラムで検出する
- 17. GWTを使用してオペレーティングシステムを検出するにはどうすればよいですか?
- 18. PHPでw3.orgのボットを検出するには?
- 19. PHPで類似の画像を検出するには?
- 20. PHP/KohanaでApacheの403エラーを検出するには?
- 21. Firefox拡張機能からオペレーティングシステムを検出
- 22. PHPでMIMEタイプを検出する
- 23. PHPでドメインを検出する方法
- 24. PHPでregister_argc_argvを検出する
- 25. URLクエリ文字列エンコーディングを検出する
- 26. PHP/MySQLのエンコーディング
- 27. PHPで文字エンコーディングを理解する
- 28. 検索スクリプトでのPHP IPの検出
- 29. Pythonでのエンコーディングの検出、chardetライブラリを使用するかどうか
- 30. Apache 2.4、PHP 5.6.17 Debian 8.3、デフォルトのPHPヘッダでエンコーディングを削除するには?
ここで、エンコードの識別に関するその他の質問を確認しましたか?この例を見てみましょう:http://stackoverflow.com/questions/910793/php-detect-encoding-and-make-everything-utf-8またはこれ1つ:http://stackoverflow.com/questions/505562/ detect-file-encoding-in-php –
ファイルシステムがエンコーディングを委任しているかどうかわかりません... mb_list_encodingsはサポートされているエンコーディングのリストを返します。 – Incognito
それは私が答えたいとは思わない、それは私と別の質問です – Jasper