Posted on

ダウンロードしたCSVファイルが文字化けする問題

CSVファイルをダウンロードしたら文字化けするとお客様から連絡があり調べたところ、テストサイトではSHIFT_JISでダウンロード出来ていた所が何故かUTF-8でダウンロードされているようになってしまっていました。

UTF-8のファイルをSHIFT_JISで開きなおすと一応文字化けは直るのですが先頭に「・ソ」という表示が知らぬうちに付いていました。

続きを読む ダウンロードしたCSVファイルが文字化けする問題

Posted on

CakePHPでSSL認証とそうでない時の処理を振り分ける

ログインするときにSSL通信でログインするか普通の通信でログインするかを選べるようにして欲しいというお客さんの要望があったので今回はこんな感じのプログラムで対応しました。

やっている内容はログイン時にSSL通信でログインした時、Cake内の移動の際にSSL通信の場合はhttpsで移動するようにするという感じです。

続きを読む CakePHPでSSL認証とそうでない時の処理を振り分ける

Posted on

tcpdfでIPAフォントを入れる手順の覚書

PDFを吐き出すシステムを作った時に、tcpdfがデフォルトで用意してくれている
フォントでは今回の案件に対応できなかったので、IPAフォントを使う事にしました。

以下のURLを参考に作業を進めていきました。
http://hrgs.xrea.jp/2006/08/24/how_to_use_japanese_with_tcpdf

IPAフォントは
http://ossipedia.ipa.go.jp/ipafont/
でIPAfont00203.zipをダウンロードしてくる。
展開していくつかttfファイルが出来るので、以後ipag.ttf
を使って作業をしてみる。

tcpdfをダウンロードしてきてFPDIを動かすところに配置する。
tcpdf/fonts/utils/の下にいるmakefont.phpとttf2ufm.exeを使って
ipag.ttfファイルからPDFで使えるファイルを生成する。

phpの動くところにtcpdfを設置してtcpdf/fonts/utils/以下に
ipag.ttfを置いておく。

コマンドプロンプトでtcpdf/fonts/utils/の下に移動して
「ttf2ufm.exe -a -F ipag.ttf」をコマンドで打つ。
すると処理が走って「ipag.afm、ipag.t1a、ipag.ufm」の
3つのファイルを生成する。

続いて同じ場所で
「[php.exeまでの相対パス] makeform.php ipag.ttf ipag.ufm」
をコマンドで打つ。
そうすると「ipag.ctg.z、ipag.php、ipag.z」の3つのファイルを生成する。

上記の3つのファイルをtcpdf/fonts/の下においてFPDI
から呼んであげます。
そうすると入れたフォントがPDFで表示されるようになりました。

Posted on

VS.phpを使って、リモートデバッグしてみました!

リモートデバッグって必要あるの?って聞かれるといまいち説得力のある説明が
できないんですが、ローカル環境で開発していて、本番サーバで動かすと動きが
違って困り果てることってあります。そしてたいてい納期直前のかなり切羽詰っ
た時にそういうことが起こります。そんな時、リモートデバッグが使えると便利だっ
たりすると思うんです。
でも本番サーバにDBGやXdebugをインストールできなければこれは使えません。
以下、自分が実際に使ってみた時のメモです。
<苦労したところ>
を参考にDBGをインストールして設定したけれども、
  failed to establish connection to client host on localhost:7869
というメッセージが表示されて実行できない。サーバの設定によってこう
なることがあるようです。
property.JPG
PHPプロジェクトのプロパティ「構成プロパティ」「デバッグ」「高度な設定」の
DBGクライアントホストをローカルPCのIPアドレスにすると解決。
< リモートデバッグする時の手順 >
1.サーバからデバッグ対象のソース一式をローカルへコピーする
2.プロジェクトのプロパティで以下の設定をする

”配置”
  配置方法をFTPで設定する。
  パッシブモード/アクティブモードの設定を間違えないよう注意。
  下のFFFTPの画面で赤丸部分がONの時はパッシブモード)

FFFTP.JPG
“全般”
  デバッグモード:外部モード
  デバッグ方法:DBG
  開始URLはhttp://[IPアドレス]/test/index.phpのように。
”高度な設定”
  DBGクライアントのポート番号:7869
  DBGクライアントホスト:上の<苦労したところ>に書いた
  メセージが表示される場合はローカルマシンのIPアドレスする。

3.ソリューションエクスプローラでindex.phpの上で右クリックしてメニューから

  「開始ページに設定」を選択する

4.ブレークポイントをつけて、デバッグ実行する