[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
PHP の調べ物
PHPエディタ(php_editor と、php_editor_std) なるものと、Notepad++ EUC-JP 対応版 なるものを、
当初からPHP エディタのターゲット として使おうとしてきた。
結局なんだか普通にエディタっぽいNotepad++ EUC-JP 対応版 を使ってきたのだが、
PHPエディタ の通常版がプロジェクト単位で使えるのもあり、そのうちこちらにした方が良いかな?
とか思いつつ、通常版は拡張子の関連付けからなんだかややこしく、プロジェクトに参加させないファイルは
開くことが出来ない気配・・・
なので一度は簡易版みたいなスタンドあローン版があり、こちらはファイルだけを開けるので
学習用には楽だが、なんだか両方使わないといけないっていう気配に陥りそうで、ぶっちゃけややこしい・・・
Windows に拡張子の関連付けを行うと、それぞれかぶらない様に設定されてしまうのがわかったので、
この際通常のプロジェクト単位のバージョンの方に.php なども設定しなおしてみて開いてみると、
「作成するファイル名を指定してください」 と出て、その拡張子に関連付けしたファイル名は表示されるが
そのプロジェクトに参加させてみると、ファイルは中身が「空」の物、つまり新規になってしまう。
この都合の悪さは痛い^^;
プロジェクト単位でしか作業をしなくても、ファイル単位で使えない→通常版
プロジェクトで作業出来ないが結構いけるのかな?って思った→スタンドアローン版
で結局前もこのPHPエディタなる物はphp.exe でエラーチェック が出来るとかchmコンパイルされた
PHP マニュアルが見れる(これはエラーの詳細でジャンプできないから便利でない)とかも使えるので
使おうと思って、度々この通常かスタンドアローンか迷い、Notepad++ EUC-JP 対応版 を使ってる
始末なのだった・・・・・
それで長くなるが今回やっとまた、PHP エディタを使おうと思い、PHP のテストなどでお決まりの
雛形があるので、その雛形を私は雛形.php って名前でつけてるのだが、これをスタンドアローンで
開いて拡張子に驚きました・・・
その拡張子の問題について述べます。まずはそのファイルの内容です。
--------------------
<html>
<head><title></title></head>
<body>
<?php
?>
</body>
</html>
--------------------
たったこれだけ、これだけがどうもマズイみたいなのです^^;;;
これをメモ帳で開き、名前を付けて保存にすると、文字コード は「ANSI」なのです。
でもこれを、PHPエディタ のスタンドアローン版で開くと、何度 Shift-JIS で保存しても、
再度開くと「UTF-8」なのです^^;
でもなぜか、こっちのコードの例だと、Shift-JIS として認識してくれます^^;
--------------------
<html>
<head><title></title></head>
<body>
<?php
//テスト
?>
</body>
</html>
--------------------
開く時にどっちかわからないなら、Shift-JIS を選ぶかUTF-8 を選ぶか選択する様な設定が無いです><;
このPHPエディタスタンドアローン版(Ver.1.33)は、ぶっちゃけ気が付かないと、初心者は文字コード で
ハマるかもしれません。。。
後で分かったのですが、これはNotepad++ EUC-JP 対応版 でも同様な状況な様です!!!
なぜ気が付かなかったのかは、Notepad++ EUC-JP 対応版 の場合は、
複数同時に沢山のファイルが開けて、そのままNotepad++ EUC-JP 対応版 本体を閉じて終了しても、
次開くと、指定したファイル を閉じてない限り、セーブしてもまた開きます。
つまり、形式変換してセーブして閉じなければ、またShift-JIS から使えて、
設定が残るのです。
個人的には便利に思えました、しかしこれもShift-JIS 優先とかの設定があればいいですね^^;
とりあえず、なんだか、色々エディターの問題でつまずいて、
私は、PHP エディターなる物のデフォルトがUTF-8形式であると誤解していて
これがPHP でデフォルトで扱うと便利なのかな? とか思っていましたが、
他のエディタ、Notepad++ EUC-JP 対応版 でも同様なので、これは多分デフォルトではないと
思えました。
とりあえずは、凄い慣れない疑問でしたが、なんとなく普通は
「日本語が混ざっていないANSI は、UTF-8 であり、日本語が混ざるとANSI であってもそれは、
S-JIS(Shift-JIS)である?!ことを薄々理解しました、多分それであってるのかな???????
また言い換えると、普通にメモ帳では ANSI という取り扱いしかないのに対し、
PHP エディタ や、Notepad++ EUC-JP で自動的にファイルを開いた時に認識する文字コードが違う事も
判り、あぁそういえば、PHP の設定ではAuto とか設定があるから、これがバグの原因になるのも
よく似た事なのか!と実感しましたorz
Directive | Local Value | Master Value |
---|---|---|
mbstring.detect_order | SJIS,EUC-JP,JIS,UTF-8,ASCII | SJIS,EUC-JP,JIS,UTF-8,ASCII |
mbstring.encoding_translation | Off | Off |
mbstring.func_overload | 0 | 0 |
mbstring.http_input | auto | auto |
mbstring.http_output | SJIS | SJIS |
mbstring.http_output_conv_mimetypes | ^(text/|application/xhtml\+xml) | ^(text/|application/xhtml\+xml) |
mbstring.internal_encoding | SJIS | SJIS |
mbstring.language | Japanese | Japanese |
mbstring.strict_detection | Off | Off |
mbstring.substitute_character | no value | no value |
Directive | Local Value | Master Value |
---|---|---|
mbstring.detect_order | no value | no value |
mbstring.encoding_translation | Off | Off |
mbstring.func_overload | 0 | 0 |
mbstring.http_input | pass | pass |
mbstring.http_output | pass | pass |
mbstring.http_output_conv_mimetypes | ^(text/|application/xhtml\+xml) | ^(text/|application/xhtml\+xml) |
mbstring.internal_encoding | no value | no value |
mbstring.language | neutral | neutral |
mbstring.strict_detection | Off | Off |
mbstring.substitute_character | no value | no value |
コメント一覧