カテゴリ: プログラミング, API, C/C++, Javascript/Java, PHP, CakePHP, WSH/VBScript

ページ: << 1 ... 6 7 8 9 10 11 12 13 14 15 16 >>

CakePHP 1.2 RC3リリース!

パーマリンク 2008/10/04 23:00:00 著者: kumaold メール
カテゴリ: 新情報いろいろ, プログラミング, PHP, CakePHP

いつの間にかCakePHP 1.2 RC3がリリースされていたようです。

早速、ダウンロードして入れ替えてみたんですが、やはり従来のRC2に比べても体感速度がワンテンポ速くなっているような感じです。


基本的な動作を確認した限りでは、特にRC3の導入にあたっての不具合はなさそうなので、両環境を残しながら少しずつ移行を進めていきたいです。


しばらくの間はコアのライブラリを新旧比較して、変更点を探っていきます。


先日リリースしたCakePHP 1.2 RC2日本語化ファイルも差し換えないとなぁ・・・



CakePHP ポケットリファレンス (Pocket Reference)CakePHP ポケットリファレンス (Pocket Reference)
株式会社ブルーオーシャン 岡田 佳典

技術評論社 2008-06-18
売り上げランキング : 25013
おすすめ平均

Amazonで詳しく見る

全角文字のtrimで文字化け

パーマリンク 2008/09/30 17:42:12 著者: kumaold メール
カテゴリ: 仕事, プログラミング

ISPの管理画面の確認ページで、特定の記号群だけ文字化けする謎の症状があったので原因とその解決法を書いときます。


症状としては、テキストフィールドに「●, ☆, ◇, @, ¥, =」などの記号が入った状態で確認画面に進むと、それ以降の文字列が文字化けを起こしてしまいます。

ただし、全ての記号が常に文字化けするわけではなく「◆, □, ※, 〒, ≡」などは大丈夫で、文字化けする記号群でも文頭になければOKという怪しい状態です。


試行錯誤してみると、文字列の前後の全角スペース削除部分が問題のようです。


問題の一文のコード

$str = trim(trim($str), " ");   //前後のスペースを除去

意図としては、trim()では全角スペースの除去ができないので、第2引数に任意の文字列(" ")を指定することで対応できるという考え方です。


しかし、PHPのマニュアルのtrim()には特に何も書いてないのですが、おそらく第2引数がマルチバイト文字に対応してないものと思われます。


つまり・・・こんな感じです。

PHPの内部エンコード(mbstring.internal…)がEUC-JPになっている
     ↓
全角スペースの文字コードは0xA1A1(EUC-JP)
     ↓
trim()が文字列の前後の0xA1をマルチバイト文字だろうが削除
     ↓
EUC-JPの1面1区の記号群は0xA1から始まるので削られる。
     ↓
削られた文字が1byteずれて、文字化けする。

残念ながらmb_~シリーズのようなマルチバイト対応のmb_trim()はないようです。

そこで仕方なく自前のユーザ関数を作るしかないですね。

/*
 * マルチバイト文字列用trim
 */
function mb_trim ($str, $chars = "\s ")
{
	$str = mb_ereg_replace("^[$chars]+", "", $str);
	$str = mb_ereg_replace("[$chars]+$", "", $str);
	return $str;
}

※こちらの記事を参考にさせていただきました。
 ITのーと - PHP trimで文字化け
 ASH Multimedia lab. - 文字コード表


[改訂版] PHP ポケットリファレンス (Pocket reference)[改訂版] PHP ポケットリファレンス (Pocket reference)
大垣 靖男

技術評論社 2005-09-17
売り上げランキング : 153904
おすすめ平均

Amazonで詳しく見る
type="text/javascript">
type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js">

CakePHPでphpinfo風の情報表示

パーマリンク 2008/09/25 15:55:28 著者: kumaold メール
カテゴリ: プログラミング, PHP, CakePHP

色々とググっている最中に、こんなものを見つけました。

CakePHP phpinfo()風に設定を表示-CakeInfo-


公開用テスト鯖に入れてみると、こんな感じになりました。

最初からある定数だけでなく、ディレクトリのパスや、存在するコントローラ、モデル、ビューやメソッド名などが一覧で把握できるので便利です。


これのCakePHP 1.2対応バージョン(beta)もリリースされています。

 


 

CakePHP ポケットリファレンス (Pocket Reference)CakePHP ポケットリファレンス (Pocket Reference)
株式会社ブルーオーシャン 岡田 佳典

技術評論社 2008-06-18
売り上げランキング : 25013
おすすめ平均

Amazonで詳しく見る
type="text/javascript">
type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js">

<< 1 ... 6 7 8 9 10 11 12 13 14 15 16 >>

一六社で働くITエンジニアのブログ。

普段はWeb系システム開発と地元のPCサポートをやってます。いつの間にやら会社に8年目。
技術ネタ中心に日々の仕事と生活と趣味やらを気が向いたら書いてます。

2017年3月
 << <   > >>
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

検索

XMLフィード

16ブログ     powered by b2evolution free blog software