[PHP-users 12995] Re: fgetcsv()について

GUSTAV php-users@php.gr.jp
Tue, 4 Feb 2003 18:16:32 +0900


久保田です。

以下のスクリプトをウチのローカルサーバで実行したところ
文字化けは起こりませんでした。

▼スクリプト
<?
if( !( $fn = @fopen( "dgx_error.msg", "r" ) ) ){
	$msg = ERROR_DEFAULT_MSG;
}
else{
	while( $rec = fgetcsv( $fn, 1000, "\t" ) ){
		echo "<pre>";
		print_r($rec);
		echo "</pre>";
		$v = trim( $rec[1] );
		$rec[0] = trim($rec[0]);
		if( $rec[0]{0} === '#' ){   continue;   }
		if( $rec[0]{0} === '' ){    continue;   }
		$msgTable[$rec[0]] = $v;
	}
	fclose( $fn );
}
echo "<pre>";
print_r($msgTable);
echo "</pre>";
?>

▼表示結果
Array
(
     [0] => 00000	データベースアクセス時にエラーが発生しました。
)

Array
(
     [0] => 00100	ユーザ情報管理テーブルへのアクセス時にエラーが発生
しました。
)

Array
(
     [0] => 00101	ユーザ情報管理テーブルの読み込み時にエラーが発生
しました。
)

Array
(
     [0] => 00102	ユーザ情報管理テーブルの更新時にエラーが発生しました。
)

Array
(
     [0] => 00103	ユーザ情報管理テーブルへのデータ挿入時にエラーが発生
しました。
)

Array
(
     [00000	データベースアクセス時にエラーが発生しました。] =>
     [00100	ユーザ情報管理テーブルへのアクセス時にエラーが発生
しました。] =>
     [00101	ユーザ情報管理テーブルの読み込み時にエラーが発生
しました。] =>
     [00102	ユーザ情報管理テーブルの更新時にエラーが発生しました。] =>
     [00103	ユーザ情報管理テーブルへのデータ挿入時にエラーが発生
しました。] =>
)


こちらの環境は
MacOSX10.1.5
Apache/1.3.26
PHP Version 4.2.2
'./configure' '--disable-cli' '--with-apxs' '--with-mysql' 
'--with-pgsql' '--with-gd=/usr/local' '--with-png-dir=/usr/local' 
'--with-zlib-dir=/usr' '--with-jpeg-dir=/usr/local' '--with-freetype-
dir=/usr/local' '--with-t1lib=/usr/local' '--enable-trans-sid' 
'--enable-exif' '--with-xml' '--enable-wddx' '--with-curl=/usr/local' 
'--with-pdflib=/usr/local' '--enable-ftp' '--enable-mbstring' 
'--enable-mbstr-enc-trans' '--with-ldap' '--enable-xslt' 
'--with-xslt-sablot=/usr/local' '--with-imap=../imap-2001a' 
'--enable-dbx' '--enable-dbase' '--with-mcrypt=/usr/local' 
'--enable-sockets'
です。

そちらでの文字化けはPHP4.3.0のバグかもしれませんし、
configure時に’--enable-mbstring’をオプション指定していない
せいかもしれません。再現できないのであくまで予想ですが・・・。

- ・ - ・ - ・ - ・ - ・ - ・ - ・ - ・ - ・ - ・ - ・ - ・ - ・ - ・ -
久保田英典 (GUSTAV) beatle@nava21.ne.jp
ウェブアプリ工房 http://gustav-net.com/
- ・ - ・ - ・ - ・ - ・ - ・ - ・ - ・ - ・ - ・ - ・ - ・ - ・ - ・ -