新しいサーバーをいじるときに必ずやらなければ行けないこと。

それは日本語、マルチバイトテキストの設定なのだ。

そうしないと、PHPでメールを送るときにmb_encoding_mimeheaderを使ってメールのタイトルを変換したとしても、文字化けしてしまうらしい。

PHPのmb_encode_mimeheaderは事前にmb_internal_encodingが必要

ということらしい。

php.iniで設定をしても、ソース内で処理をしても良いのかな?このサイトのソースはPHP5らしいので、PHP4の人は違うかもしれませんが、いろいろと不都合が起こらないよう環境を統一しておくためにphp.iniできちんとmbの項目を設定しておきましょう。

ちなみに、設定した値は

output_buffering         = Off
magic_quotes_gpc = Off
default_charset          = EUC-JP

mbstring.language = Japanese
mbstring.internal_encoding = EUC-JP
mbstring.http_input  = auto
mbstring.http_output = EUC-JP
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_character = none

こんな感じですかね。

そんなこんなで仕事が滞っています。。。

ツイートツイート
 

たぶん、初歩的なそして致命的なミス。

ereg_replace(“%%”.$n.”%%”,$v,$this->content);

で、なにかを置き換えしている時に、真ん中置き換える用の変数の所の$vに数字が来るとおかしな事になっちまうんだ。

Continue reading »

ツイートツイート
 

文字列の文字コードを変えてくれる関数のmb_convert_encodingですが、若干挙動不審な所もあり。

サーバーのPHPのバージョンが古いからかもしれないので、本当は懸念事項ではないかもしれないけど、一応メモ。

現在発生しているのは、mb_convert_encoding($value,’SJIS’,'auto’);
で変換文字列がUTF-8の場合、たいていはうまくいくが、たまに文字化けがおこる。

今回はXMLをパースする途中で起きたことで、XML吐き出しをしているときにUTF-8に変換(mb_convert_encoding($value,’UTF-8′,’auto’);)しているので、表示する際にShift_jisにしたい場合は直接、mb_convert_encoding($value,’SJIS’,'UTF-8′);として変換してあげるのが安全っぽい。

どうやら、UTF-8->Shift_jisの変換で自動変換だと途中でこける可能性がある。

ツイートツイート
 

もうすっかりシステム屋さんな感じのましゃです。こんにちは。

今日は、今日はじめて知ったPHPのMySQLな関数をめもっちゃうよ。

どれも初歩的な関数(っぽい)ので、玄人の方は暖かく見守ってください。
素人の方は、質問なんてできるだけしないでください。質問がもしあったら、わかる範囲でがんばります、(答えるかはいつも通り謎。)

まずは、PHPでクエリを問い合わせた後に、どのようにしてその値をとってくるかです。

Continue reading »

ツイートツイート
 

MTなどのブログツールで送る更新Pingは、XML_RPCというプロトコルを使った weblogUpdates.pingというAPIを送っているのだとか。

そうすると、XML_RPCに準拠したリクエストを送っているわけで、その辺をグーグル先生に聞いてみたところ、XML_RPCの仕様書を日本語訳してくれているとてもありがたいサイトを多々発見。

http://lowlife.jp/yasusii/stories/9.html

http://www.futomi.com/lecture/japanese/xml_rpc.html

ツイートツイート
 

logo_mogura.gif

モグラです。
Google Analitycsだかなんだかが1ヶ月近くたっても登録できないので、フリーのソフトを入れてみました。

なかなかいいですが、カウンターがうまく動かない雰囲気です。

というか、現在コメントが登録できなくなっています。
MacSafariからはできます。。。何でやねん。。。

とりあえず、MT3.2に戻すか。。。

ツイートツイート
 

PHPとXMLの連携のときにアットライズのサーバーで起こったバグ的なPHPの処理の不具合メモだよ。

デフォルトのデータ処理

デフォルトのデータ処理はなぜか途中で終わってしまうものが
あったので、$tmp[$name]に追加する形で入れる。
途中で終わった場合でも終了タグがきたわけではないので、
再びデフォルトの処理に戻ってくる。

その後、終了タグが来たときに$tmp[$name]をその要素の配列に
入れて、$tmp[$name]を初期化してあげる

という処理をしてあげると良いということがわかったよ。

詳しくは続きを読むをクリック!

Continue reading »

ツイートツイート
 

長年の謎であった、文字コードに解決の糸口が。。。?

どうやら、mbstring.internal_encodingとは、PHPが処理をする際の文字コードのようで、たとえば、formの表示する部分をShift_jisで作ってしまった場合も

  • form.html  -  Shift_jis
  • confirm.php – EUC-jp
  • send.php – EUC-jp

というように受取側が、EUCであれば問題がないようだ。

但し、confirm.phpにおいて、表示する際は、charsetはShift_jisでありながら、ファイル自体はEUC-jpで保存しないといけないので要注意。

とりあえず、今回はこれでうまく行った感じだけど、どうなることやら。。。(というか、うちの会社のサーバーのみかもしれないし。。。)

Continue reading »

ツイートツイート
4月 252006
 

なんだかんだで、徐々にその全貌が明らかになってきたOOPの謎。

いやいや、まだ謎だらけだったりしますが、なれてくると結構簡単かもしれない。

requireで読み込むとユーザー定義関数と違って、$_POSTとか$_GETとか使えるし(普通に使えたかな?)、引数で渡してあげる場合も、ユーザー定義関数とほとんど変わらないけど、何よりも、結果をオブジェクトとしてとってこられるのが楽ちん。

Continue reading »

ツイートツイート
 

進まないのは当然。

気がついたら「いえさが」をやっているからですよ。

まぁ、それ自体は楽しいからいいのだけど、どうにもこうにも、今やっている医療系のプログラムが進みません。

あげく、うっかりオブジェクト指向で思考しているので試行錯誤であたまがパンクしそうです。

Continue reading »

ツイートツイート
© 2011 LEGGODT.COM Suffusion theme by Sayontan Sinha