アプリ版:「スタンプのみでお礼する」機能のリリースについて

PHPを勉強しようと
xamppを入れています。

phpのソースは、UTF8で記述しており、
default_charset = "utf-8"でiniに設定しています。

<?php
echo "ハローワールド";
?>

とソースを作った場合、

質問1:「mbstringの設定がないと「ハローワールド」は文字化けするもの」なのでしょうか?
mbstringは、「mbstring関数を利用するときに影響がある」と認識しております。
影響のあるmbstring関数?:http://php.net/manual/ja/ref.mbstring.php
 
 極端の言い方をさせていただくと、上記ソースでは、mbstringの設定有無の影響は
ないのでしょうか?

質問2:上のソースをSJISで書いたときに、default_charset = "utf-8"の設定が
php.iniでされていますので文字化けが発生するという解釈で問題ないでしょうか

ご教授よろしくお願いします。

A 回答 (1件)

mbstring系の関数を使わないのであれば、mbstringの設定は無関係です。

文字化けする要素はどこにもありません(default_charsetがキチンとhttpレスポンスヘッダに反映されていれば)。

default_charsetはhttpレスポンスヘッダを返すときにcontent-type:text/tmlに付加されるcharsetです。

http://www.php.net/manual/ja/ini.core.php#ini.de …

なので「文字コードが違う」というのは、htmlソースでmeta要素で指定したcharsetが間違っているのと同じように文字化けの元です。ブラウザの挙動としては、meta要素のcharsetよりhttpレスポンスヘッダのcharsetを優先させるハズですから、確実に文字化けするでしょう。
    • good
    • 0
この回答へのお礼

情報ありがとうございます。
やっぱり、mbstringの設定は、関数を使わなければ無関係でしたか。
質問してから、kana関数を使用して検証してみたところ文字化けは発生しませんでした。
かなりすっきりしました。

ありがとうございました。

お礼日時:2012/01/18 05:26

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!