[PHP-users 22182]Re: 8bit出力

Tomoo Nomura nomurat @ tmo.co.jp
2004年 6月 11日 (金) 14:31:27 JST


> <>今問題となっているファイルへは、
> Shift_JISで出力しています。
>
>どうやって?
>  
>
いや、hexdumpを行う前に exec ( nkf ..... ) という処理があるので、dumpの
内容がShift_JISになっているという意味です。本質とは関係ありません。失礼
しました。

>[PHP-users 22159] の重松さんの手順と全く同じで再現テストをしたらどうなりますか?
>  
>

debian:/var/www/addressbook# cat test.php
<?php
$fp = fopen('./x', 'wb' ) ;
fputs( $fp, "\013\000\000\000Address.idx", 15 ) ;
fputs( $fp, "\200\200", 2 ) ;
fputs( $fp, "\000\000", 2 ) ;
?>
debian:/var/www/addressbook# hexdump -b x
0000000 013 000 000 000 101 144 144 162 145 163 163 056 151 144 170 200
0000010 200 000 000
0000013
debian:/var/www/addressbook#

うまくゆきました!

では、どこが違うのか?もういちど、ソースを眺めていましたら、
exec ( "/usr/bin/nkf -sx $tmp > $filenm" ) ;
ここで、上に述べたEUC-JPからShit_JISへの変換をやっていたのですが、ここ
で、 200 --> 000 の変換が起きていました。
phpとは関係ありませんでした。申し訳ございませんでした。 次の問題として、
如何にShift_JISにするかは残りますが。

ところで、[PHP-users 22164] いしげさんの結果は何だったんでしょうか?

野村

-- 
****** Nomura Technical Management Office Ltd. *****************
 Tomoo Nomura      nomura @ tmo.co.jp       http://www.tmo.co.jp/ 
    Phone: +81-78-797-0240 Fax: +81-78-797-0241 @nifty:GBH12257
 Worldwide Airline Timetable 'Flight Planner'
 European Electronic Timetable 'HAFAS'         ValueFax Support
****************************************************************



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