C++Builder好きの秘密基地 このページをアンテナに追加 RSSフィード

2010-12-21

RadPHPでエンコーディングがBOM無しUTF-8であるソースコードがANSIと見なされる場合の回避策

RadPHPを使ってみて、ちょっと気になった点がありQCに登録したら、早速回答が来たので覚え書きとして記録。

こんな感じのソースファイルを作成して、エンコーディングUTF-8としてBOM無しで保存。

<?php
print '<HTML>';
print '<BODY>';

print 'これはPHPのソースコードで、エンコーディングはUTF-8です。';

print '</BODY>';
print '</HTML>';
?>

これをRadPHPで開くと、エンコーディングANSIと見なすようで文字化け。これを回避するには、同じフォルダにファイルの拡張子を「.bom」にしたサイズ0のファイルを作成する。こうすることによってRadPHPは.bomファイルをマーカーと見なしてくれるので、エンコーディングUTF-8として扱ってくれる。

QCでの指示通り、RadPHPの[ファイル|新規作成|ユニット]でソースコードを作成し、適当な場所に保存すると、ソースコードだけでなく拡張子が「.bom」であるファイルも生成される。

しっかし、「PHP BOM UTF-8」でググるといろいろ出てくるな…。('A`)確かに、画像データのようなバイナリファイルは先頭にBOMがあるとそれだけでアウトな訳だし。

2010-03-24

覚え書き:Eclipse+PHP+XDebugでWebアプリを作成する

モノになるか不明だけど、PHPをいじる可能性が出てきたので覚え書き。以下の手順でうまくいった。

  1. XAMPP(http://www.apachefriends.org/jp/xampp-windows.html)とPleiades All in One(http://mergedoc.sourceforge.jp/index.html#/pleiades.html)をダウンロードして展開。展開先はそれぞれCドライブのルート。
  2. C:\xampp\php\php.iniのうち、XDebugに関係する値を以下のように設定。
    [XDebug]
    zend_extension = "C:\xampp\php\ext\php_xdebug.dll"
    xdebug.profiler_enable=1
    xdebug.remote_enable = true
    xdebug.remote_handler = "dbgp"
    xdebug.remote_host = "localhost"
    xdebug.remote_port = 9000
    
  3. Eclipseを起動して[ウィンドウ|設定]を選択して設定ウィンドウを表示。
  4. 設定ウィンドウの[PHP|PHP 実行可能ファイル]を選択して[追加]をクリック。実行可能ファイル情報を以下に設定。
    名前:XAMPP
    実行可能ファイル・パス:C:\xampp\php\php.exe
    PHP ini ファイル:C:\xampp\php\php.ini
    SAPI Types:CLI
    PHP デバッガー:XDebug
    
  5. EclipsePHPのプロジェクトを作成する。
  6. C:\xampp\apache\conf\httpd.confを編集して、ワークスペースのフォルダをhttpでアクセスできるようにする。
    Alias /Test1/ "C:/eclipse/workspace/Test1/"
    <Directory "C:/eclipse/workspace/Test1/">
    Options Indexes FollowSymLinks
    order deny,allow
    allow from ALL
    </Directory>
    
  7. Apacheを起動する。XAMPP Control Panelから起動可能。
  8. デバッガの構成を以下のように設定。
    サーバー・デバッガー:XDebug
    PHPサーバー:Default PHP Web server
    
デバックを開始すると、Webブラウザが立ち上がってPHPデバッグが可能。