2009/7/22 水曜日

mb_splitが使えない環境でのマルチバイト文字列の分割

カテゴリー: — kurowanko @ 15:40:34

マルチバイト文字列の分割は、mb_split関数を使うことでできますが、環境によってはmb_splitが使えない場合があります。
そうした環境の場合、どのように文字列を分裂すればいいのかを調べました。

『月曜・3』という文字列を『月曜』と『3』に分割する時、split関数を用いて『・』をターゲットにして分割を行いますが、『・』は全角のマルチバイト文字なのでマルチバイトに対応していないsplit関数ではうまく行ってくれません。
そこで、下記のようにしたら、うまく分割をしてくれました。

<?php
$sample =”月曜・3”;
echo($sample.”<br>”);
echo(bin2hex(”月曜・3”).”<br>”);
echo(bin2hex(”・”).”<br>”);
$sample_ = split(bin2hex(”・”), bin2hex($sample));
$sample_[0] = pack(”H*”,$sample_[0]);
$sample_[1] = pack(”H*”,$sample_[1]);
echo(”finish:”. $sample_[0].”<br>”);
echo(”finish:”. $sample_[1].”<br>”);
?>

分割をする文字列(月曜・3)と分割の起点とする文字(・)をbin2hexを使って16進数に変換し、その値を用いてsplitを行います。
16進数に変換すると、『月曜・3』は『e69c88e69b9ce383bbefbc93』、『・』は『e383bb』となります。
分割をした後で、pack関数を使い文字を元に戻します。
これで、mb_splitが使えない環境でもマルチバイト文字列を分割することができました。

2009/7/14 火曜日

WordPressのアップグレード

カテゴリー: — kurowanko @ 16:42:01

WordPress2.7からバージョンアップの際に自動アップグレードが可能になったようです。
以前までと同様に手動でアップグレードもできますが、自動の方が手順がかなり簡単です。

アップグレードのページにある自動アップグレードのボタンを押せばそれだけでバージョンアップの作業が完了します。
ですが、使用しているプラグインを停止させずに行うとPHPエラーが出てしまうので、アップグレードを行う前に必ずプラグインの停止をしてください。

プラグインの停止を行えば、後はワンクリックでバージョンアップができます。
バージョンアップが完了したら、停止させたプラグインを再び利用して大丈夫です。

共有SSLの導入

カテゴリー: — admin @ 16:28:01

さくらインターネットサーバのコントロールパネルへログインをし、ドメイン設定のページを開きます。
開いたページのドメイン一覧から共有SSLを利用したいドメインの欄にある変更をクリックします。
するとドメイン詳細設定画面が開きます。
共有SSLを利用するにチェックを入れて送信すれば、収容サーバの番号が入った新しいアドレスが設定されます。
なお、初期ドメインに共有SSLを設定した場合のアドレスは(https://example.sakura.ne.jp)のようになります。

ホームページなどでお問い合わせのフォームだけSSLを利用したい場合には、お問い合わせのフォームへ飛ぶ際に絶対パスでSSLのアドレスへ飛ぶようにすることで解決できます。
同じように、共有SSLを設定したページからSSLを利用しないページに飛ぶ際にも絶対パスを使う必要があります。

ドメインの設定の際に、マルチドメインの対象フォルダを指定する項目がありますが、
その指定フォルダは変更する必要はありません。

参考URL
http://support.sakura.ad.jp/support/manual/rs/set_ssl_kyouyu.shtml
http://daisuki-sakura.com/ssl.htm

2009/7/11 土曜日

素人cake php1.2ではまり

カテゴリー: — gabon @ 18:04:39

前回のエントリで書き換えたviewが反映されない件について書きました。
viewが反映されるようになったのですが、
今度はpagenateがないぜ、というエラーに悩まされました。

http://d.hatena.ne.jp/s-yo-ko/20080226
の記事に助けられました。ありがとうございます!
function index(){
$this->set(’adminusers’,$this->paginate());
}
のように、コントローラからpaginateのオブジェクトを送ってあげればよいようです。

改めまして、s-yo-koさんに感謝です。

素人cakephp1.2でビューがかわらず・・・

カテゴリー: — gabon @ 18:00:05

cakephp1.2を始めました。

bakeでコントローラ、ビューを一度つくりました。
その後ビューを書き換えても、結果が反映されず、、
半べそに。

解決法は、初期状態のコントローラに、
ビューに対応するコントローラを作ってあげることです。

例えば、最初のリスト表示なら、
funcion index(){
}
て空っぽのエントリを用意してあげれば、
対応するビューのindex.ctpが読み込まれます。

cakeは何もかかなくてもリストビューができるから、何も書かないでいいのかな、というハマりでした。

bentonさんありがとう!

2009/7/6 月曜日

excel2007の「開く」ファイラーの便利な機能

カテゴリー: — gabon @ 14:34:35

今の今まで気がつかなかったのですが、
excel2007のファイルを開くで出てくるファイラーの
左のペイン(「最近使ったファイル」とか「デスクトップ」が並んでいるところ)に、
新規に追加できるんですね。

自分は「共有ドキュメント」を追加しました。

やり方は、追加したいフォルダを右のペインで選んでおいて、件の左側のペインで右クリックで、「〜(選んだフォルダ)を追加」です。

比較的よく開く(しょっちゅう開くものは履歴にのこりますが)フォルダなどをすばやく開くことができます!

HTML convert time: 0.371 sec. Powered by WordPress ME