Re: The history of "M&Y"

Team "M&Y" and "花鳥風月"
the soliloquy of the father
毎日更新!

根性試し?

2009-11-11 | RoboCup2010

関東ブロックのWEB担当になり、これまでのコンテンツの整備とプログラムの動作確認をしてます。

コンテンツは、自分なりに修正することが出来るようになりました。

しかし、いかんせんHTMLを知らないので、ちょっとでも勉強しなければ・・・と、BOOK OFF で入門書を買ってきました。 


「できるホームページHTML」という本です。


もう、タイトルに「できる」って大きく書かれているので、これで出来なきゃバカと言われちゃいますよね。 内容も本当に初心者用です。 なんつったって、メモ帳の起動方法を写真付きで解説するくらいだから・・・

よ~しっ、これで勉強するゾ!


と、始めたのは良いけど、半分位読んだところで、挫折です。

もう、私の脳には、空きメモリは残ってないようです。 (デフラグすれば、ちょっとは空くかな?)

それでもまあ、これでやっと 呪文のように並んでいた <table> <tr> <td> の意味が判りました。 

(それを知らずに整理していた自分が凄い!)

それだけでも、大きな前進です。


続いてはPHPのプログラムの動作確認です。

このプログラムは、画面で入力した内容をメールに発信するものです。

よくある、会員登録です。 画面に会員情報を登録してもらい(いくつかのチェックをしたあとに)「登録ありがとうございます。」とメールを出すものです。

プログラム自体は、なんとなく動作してくれているようです。 登録したデータ内容がメールで発信されるのですが・・・メールのタイトルが途中で文字化けします。


東東京ノード大会エントリー - チー%`!V$A$/$^!W


こんな感じです。

PHPは全然知らないのですが・・・まあ、コンピュータ言語なんて、なんとなく同じように判る気がしてきます。

メールのタイトル (subject)にする文字列は mb_encode_mimeheader( )関数を使って変換するらしいのですが、これにはバグがあり、38バイト以上は変換できないこともあるとか・・・

確かにそこら辺で化け化けしている感じですねぇ。

じゃあ、どうするか・・・どうしようもなければ単に38バイト以内の短いタイトルにしようと安易に考えたのですが、ネットで調べると・・・同じような悩みが沢山出てきました。

まあ、環境とか良く判らないのですが・・・いろいろ試してみることにしました。


元のプログラム

$subject = mb_encode_mimeheader(mb_convert_encoding($subject, 'JIS', 'auto'), 'JIS', 'B', "\r");

変更したプログラム

$orgEncoding = mb_internal_encoding();
mb_internal_encoding('JIS');
$subject = mb_encode_mimeheader(mb_convert_encoding($subject, 'JIS', 'auto'), 'JIS', 'B', "\r");
mb_internal_encoding($orgEncoding);


これでバッチリ変換できるようになりました。 (これが正解なのか知りませんが・・・)

やれやれ ここまで、長い道のりであった。

とりあえず、片方のプログラムの動作確認は終わりです。


しかし、ここからが遠い道のりでした・・・

さて、もう一つ似たようなプログラムがあり、こちらの方もやっちゃおう、と取り掛かりました。

もう、プログラムの修正方法は判っているので、さっと修正して、確認・・・あれ、さっきと全然かわっていない。(タイトルが文字化けしてる!)

何がダメなんだろう・・・

修正して、確認、ダメ

修正して、確認、ダメ

修正して、確認、ダメ

だめだ~っ!


肩がこったのでちょっと一息。

一息して、落ち着いて考えると、修正した内容が本番に全然反映されていない気がする。

修正しているソースプログラムは正しいのかなぁ?

うん、ちゃんと正しいファイルを直している。

じゃあ、サーバに正しく転送してるのかなぁ? と調べると・・・修正したプログラムの隣のファイルを転送していました。

確かにこれじゃあ、何も変らないハズです。


人間、うまくいかないと焦り、焦ると見るべきものが見えなくなりますねぇ。

ということで、神様が私に根性を試す試練を与えてくださったようです。(笑)

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする