[PHP-users 33535] Re: php-4.3.2でDBの日付スタンプに漢字が混ざる

goungoun gounx2 @ gmail.com
2008年 5月 13日 (火) 17:52:51 JST


こんにちは。

よくわかりませんが、

googleでキーワード
「freetds locales.conf date format」
で検索してみればどうでしょう。




On Tue, 13 May 2008 10:09:51 +0900
"tatsuya matsuyama" <tatsuya @ kk-okamoto.jp> wrote:

> 松山と申します。
> RedHat7.3J+国際化版php-4.2.3-multibyteで動作していたコンテンツを
> RedHatLinuxES+php4.3.2へ移植中です。
> 
> Windows2003server+SQLserver2000へアクセスするコンテンツをテストしています。
> 
> SQLserverから取得したタイムスタンプ
>  $input_day[$i]  = $data->input_day;
> などを
>  // 受付日の整形
>  unset($tmp_year);
>  $tmp_year  = (1*date("Y",strtotime($input_day[$i],"")))-1988; // 平成処理
>  $tmp_youbi = ask_youbi(date("w",strtotime($input_day[$i],"")));
>  $input_day[$i] = date("n/j/",strtotime($input_day[$i],""));
>  $input_day[$i] = "H".$tmp_year."/".$input_day[$i]."($tmp_youbi)";
> のコードを通すと国際化版php-4.2.3とは違う表示になります。
> 
> 原因を探ったところ、
> strtotime($input_day[$i],"")が-1を戻しており、
> print mb_convert_encoding($input_day[$i], "sjis", "euc")とすると
> "5月 13 2008 08:00午前"が入っていました。
> # 何故か「日」はない?
> 
> strtotimeのマニュアルに
> 「US 英文形式の日付を含む文字列が指定されることを期待してお り」
> とあるのが原因のように思っています。
> 
> 同じSQLserverに対して
> 国際化版php-4.2.3からのコンテンツは希望の動作をしているので、
> 移転先のRedHatES+php-4.3.2の設定の問題だと思います。
> 
> この問題に該当する設定は何でしょうか?
> 
> ■/etc/freetds.conf
> [MyServer2k]
>         host = 192.168.0.18
>         port = 1433
> #       tds version = 8.0
>         tds version = 4.2
>         charset = sjis
>         client charset = sjis
> 
> 
> _______________________________________________
> PHP-users mailing list  PHP-users @ php.gr.jp
> http://ml.php.gr.jp/mailman/listinfo/php-users
> PHP初心者のためのページ - 質問する前にはこちらをお読みください
> http://oldwww.php.gr.jp/php/novice.php3

-- 
goungoun <gounx2 @ gmail.com>
http://goungoun.dip.jp/app/



PHP-users メーリングリストの案内