![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
かなり初歩的な質問かもしれませんが、とあるサイトを参考に、以下のスクリプトを作って文字コードをEUC、
改行コードをLFにして保存し、実行しました。
<?php
$str="PHP練習";
print mb_detect_encoding($str);
?>
これを実行した結果は、
UTF-8でした。
てっきり保存した文字コードが出力されると思ったんですが違いました。ためしに今度は「$str="PHP練習";」の部分を「$str="PHP";」に
してみたらASCIIと出力されました。
さらに今度は「mb_detect_encoding($str);」の部分を、
「mb_detect_encoding($str,"UTF-8");」にして実行したら、
UTF-8と出力されました。
「mb_detect_encoding($str,"SJIS");」にして実行したら、
SJISと出力されました。
あといろいろ$strの中の文字を変えたりしてみましたが、
たまに何も出力されないときもありました。
サイトの説明を見たら、「mb_detect_encoding()関数は、文字列のエンコーディング形式を検出します」と書いてありました。
この「文字列のエンコーディング形式」というのは何によって決まるのでしょうか?
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
エンコーディングを決めるのは、あらかじめ指定された順番でいくつかの
エンコーディングを試していって、つじつまが合えばそれにするというものではないでしょうか。
mb_detect_order
http://zapanet.info/phpdoc/function.mb-detect-or …
<?php
$str="PHP練習";
print_r(mb_detect_order());
print mb_detect_encoding($str);
mb_detect_order("EUC-JP,UTF-8,ASCII");
print_r(mb_detect_order());
print mb_detect_encoding($str);
最初のprint_r で、既定の検出順序を出力します。
わたしの使っているシステムでは
Array
(
[0] => ASCII
[1] => UTF-8
)
となりました。
もしこういう設定だったとすると、どんな文字列を渡しても
EUC-JPという検出はしないでしょう。
Array
(
[0] => ASCII
[1] => UTF-8
)
UTF-8Array
(
[0] => EUC-JP
[1] => UTF-8
[2] => ASCII
)
EUC-JP
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPmailerでの添付ファイルの文...
-
RSSを取得すると文字化けする。
-
PHP・MySQLでデータベースを作...
-
PHPアクセスログ バッチ処理
-
レーベンシュタイン距離とマッ...
-
mb_convert_encoding で 一部の...
-
VBAのコマンドボタンの文字列の...
-
文字の入力で横バー上段、中断...
-
ファイルから読み取った改行文...
-
文字列中の両丸括弧を取り除くV...
-
エクセルでの漢字、カタカナ、...
-
エスケープ文字の復帰(¥r)と...
-
改行コードが半角スペースにな...
-
jsp 改行コードで改行させて表...
-
エクセルVBA 文字列領域が不足...
-
VBAを使ってHTMLソースから特定...
-
COBOLの改行
-
C# DataGridViewのセルを改行禁...
-
VBA ASC関数で変換できない文...
-
文字列の括弧について(初心者)
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
文字化け変換方法
-
SJISで取得した半角カナをUTF-8...
-
UTF8メールがLotus Notesで文字...
-
SQL Serverで文字コードUTF-8
-
PHPmailerでの添付ファイルの文...
-
includeファイルの文字コードに...
-
IMAP関数で取得した文字列の、...
-
SJIS→UTF-8変換後の文字化けに...
-
mb_ereg_replace での文字変換
-
mb_strposについて予定外の結果...
-
PHP+Postgres 「髙」が文字化け
-
複数行の文字列を1行にまとめる...
-
小さいひらがな(っ、ょ、ぃ、ゃ...
-
mb_send_mailの2重投稿を防止し...
-
phpMyAdmin内での文字化け
-
PHP cURLでPOSTした値が文字化...
-
mb_regex_encodingでエンコード...
-
mb_ereg_replaceに関して
-
文字コードの検出が正しいかを...
-
mail()で送信したメールのタイ...
おすすめ情報