
PHPで
mb_convert_encodingを用いて
UTF-8で記述されたPHPスクリプトファイルの
PHPファイル内の任意の文字列の文字コードを変換する場合、
$value = "文字列";
$str = mb_convert_encoding($value ,"UTF8","UTF8");
print $str;
この場合、特に問題なく、変換がおこなわれます
というか、意味のないで処理ではありますが。
次に
$str = mb_convert_encoding($value,"EUC-JP","EUC-JP");
とした場合
うまく文字列の文字コードの変換がおこなわれず
出力内容は文字化けします。
次に
$str = mb_convert_encoding($value,"SJIS","SJIS");
とした場合 EUC-JPと同じく文字コード変換に失敗し
文字化けするだろうとおもいましたが
おもいのほかブラウザの文字コードUTF-8のままで文字化けしていないのです。
これはどういう現象でしょうか?
たとえば一つ目は UTF8で記述されたPHPファイルの文字列をそのままUTF-8として
変換されせるのですから、問題ないはずです。結果問題ありません。
二つ目は UTF-8でかかれたPHPファイルの文字列をEUC-JPでかかれたファイルとして
EUC-JPという文字コードに変換しなさいという命令ですよね?
これは思う通りにいかなくて文字化けした文字列が出力されるのはわかるのですが
三つ目はUTF8で記述された文字列をSHIFT-JISとしてSHIFT-JISに変換しようとしているにも
かかわらず、結果問題なくブラウザのUTF-8で文字列と表示されてしまいます。
これはいったいどういう事なのでしょうか?
これが仮に
$str = mb_convert_encoding($value,"SJIS","UTF-8");
なら話は簡単んです。
UTF-8で記述されたファイルの任意の文字列を
UTF8からSJISに変換しようとしているのですから問題なく
SHIFT-JISでエンコーディングされた文字列が帰ってくるはずです。
こ乃原因をご存知のかたよろしくご教授ください。
お願い致します。
No.1ベストアンサー
- 回答日時:
元のPHPファイルがUTF-8で、UTF-8→UTF-8の場合はなんら変換されないのはご記載のとおりですが、SJIS→SJISの場合でも、SJISとは判定されない文字(UTF-8で書いてあるんですから)については変換の対象外と判定されて、元のUTF-8のままで出力されたものと思います。
EUC-JPの場合は、たまたまEUC-JPとも解釈できる文字だったので、実はUTF-8であるにもかかわらずEUC-JPと見なされて、それがEUC-JPで出力され、文字化けになったものでしょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Google Chromeで文字化け
-
PHPのif文でその処理を途中で抜...
-
FTPコマンドでディレクトリごと...
-
Subversionのリポジトリの削除
-
.phpと.incファイルの違いはな...
-
ボタンのクリック数を合計保存...
-
*.php、*.php3、*.phtmlの違い
-
phpの処理中に画面表示ををする...
-
zip圧縮の種類について
-
php で C言語のdefineマクロの...
-
「クラス関数」「メンバ関数」...
-
error_reporting(0);にも関わら...
-
CakePHPのファイルの所有者の権...
-
PHPにて外部サイト内容が取得不...
-
phpのftp_get()でエラーが出ます。
-
ftpでアップロードが出来ない
-
PHPでサーバーにインストールさ...
-
C# Excelファイルへの画像挿入。
-
◆バックエンド処理の終了を知り...
-
PHPでfatal errorが出ても無視...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
php.iniのエンコーディングの設...
-
php 文字化け
-
PHPの文字コード方針の決め方・...
-
Unicodeを文字列に変換する方法
-
emacsの初期設定コード
-
PHPプログラム内でHTML作成時の...
-
MySQL→PHPでデータリストを作る...
-
PHPでCSVファイルのデータを表...
-
ファイルの文字コードを調べる...
-
携帯の文字化け
-
PHPの動作テストとしてブラウザ...
-
ブラウザーで日本語が文字化け...
-
IIS5.1です。PHPをブラウザで開...
-
PHP開発に便利で画期的なDreamW...
-
i-mode対応XHTMLでPHPを動かす...
-
サーバーにアップすると文字化...
-
phpファイルで文字化け
-
HTTPヘッダはメタタグにも記述...
-
mysql→EUC-JP、php→UTF-8の時の...
-
phpでcsvの文字化けを直す方法...
おすすめ情報