![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
かなり初歩的な質問かもしれませんが、とあるサイトを参考に、以下のスクリプトを作って文字コードを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で質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# 宣言する関数の形が決まっている状態で、 str1とstr2の文字列をこの順に引っ付けてstrに保存し 2 2022/05/30 18:21
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- その他(プログラミング・Web制作) python質問 1 2023/08/14 11:54
- その他(プログラミング・Web制作) pythonのpandasのcsvの外部結合(outer_join)した際に列が想定とは異なる事象 1 2022/05/25 13:23
- C言語・C++・C# str[j++]の意味 2 2022/08/30 16:20
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- C言語・C++・C# c言語配列の結合についてです。 なぜうまくいかないのでしょうか。 #include <stdio.h 4 2022/05/30 22:42
- C言語・C++・C# sprintf()の使い方について 1 2022/08/17 16:16
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PostgreSQLからCSV形式でエクス...
-
正規表現で数値から始まりYを1...
-
メールフォームが部分的に文字...
-
PHPのsendmailでの文字化けにつ...
-
PHP4.3でapplication/x-javascript
-
SJISからUTFに変換して...
-
UTC-8→SJISで文字化け
-
次のPHPの式で間違っているとこ...
-
PHP+Postgres 「髙」が文字化け
-
携帯とPCにメールを送る(文字...
-
mb_send_mailの2重投稿を防止し...
-
PHPスクリプトでエンコードエラー
-
SQL Serverで文字コードUTF-8
-
SJISで取得した半角カナをUTF-8...
-
よく、書式で出てくる ○○ ( ○○,...
-
mb_internal_encoding('sjis');
-
「あ」→「82A0」のようにshift-...
-
PHP cURLでPOSTした値が文字化...
-
特殊な文字エンコーディングで...
-
VBAのコマンドボタンの文字列の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
文字化け変換方法
-
phpのメールフォームの完了画面...
-
SQL Serverで文字コードUTF-8
-
UTF8メールがLotus Notesで文字...
-
SJISで取得した半角カナをUTF-8...
-
mail()で送信したメールのタイ...
-
RSSを取得すると文字化けする。
-
includeファイルの文字コードに...
-
phpフォームで携帯へメール送信...
-
PHP+Postgres 「髙」が文字化け
-
廣のjis変換で文字化け
-
小さいひらがな(っ、ょ、ぃ、ゃ...
-
PostgreSQLからCSV形式でエクス...
-
メールのCCに複数のアドレスを...
-
PHPmailerでの添付ファイルの文...
-
ASCII文字列をEUCなどに変換し...
-
mb_convert_encoding で 一部の...
-
SJIS→UTF-8変換後の文字化けに...
-
CGIを作っています。渡されて来...
-
mb_ereg_replace での文字変換
おすすめ情報