<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
		xmlns:xhtml="http://www.w3.org/1999/xhtml"
>

<channel>
	<title>BGS-WORKS Blog &#187; PHP</title>
	<atom:link href="http://blog.bgs-works.com/category/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.bgs-works.com</link>
	<description>WEB業界で生き残るためのTipsやカスタマイズ方法をご紹介　 bgs-works.com</description>
	<lastBuildDate>Sat, 24 Jul 2010 15:07:28 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.bgs-works.com/category/php/feed/" />
		<item>
		<title>[PHP] csvファイルを読み込むときの方法</title>
		<link>http://blog.bgs-works.com/2009/11/php-csv%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%82%92%e8%aa%ad%e3%81%bf%e8%be%bc%e3%82%80%e3%81%a8%e3%81%8d%e3%81%ae%e6%96%b9%e6%b3%95/</link>
		<comments>http://blog.bgs-works.com/2009/11/php-csv%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%82%92%e8%aa%ad%e3%81%bf%e8%be%bc%e3%82%80%e3%81%a8%e3%81%8d%e3%81%ae%e6%96%b9%e6%b3%95/#comments</comments>
		<pubDate>Sun, 01 Nov 2009 13:57:55 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[csv]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[エンコーディング]]></category>

		<guid isPermaLink="false">http://blog.bgs-works.com/?p=412</guid>
		<description><![CDATA[PHPを使ってcsvファイルを読み込むとき、ちょっと戸惑ったことを覚書です。
1.macで作ったcsvはうまく表示出来ない
csvはSJISなので「mb_convert_encoding」でUTF-8へエンコーディングし [...]]]></description>
			<content:encoded><![CDATA[<p>PHPを使ってcsvファイルを読み込むとき、ちょっと戸惑ったことを覚書です。</p>
<p>1.macで作ったcsvはうまく表示出来ない</p>
<p>csvはSJISなので「mb_convert_encoding」でUTF-8へエンコーディングします。ここまでは普通です。<br />
会社で勉強で作った時はwinだったので、それだけでOKでした。<br />
でも、macで作ったcsvだと「5C問題」っていうのがあって、そのままだとうまく表示できませんでした。<br />
ので、調べました。</p>
<p><a href="http://www.jamboree.jp/cms/archives/146">PHPのfgetcsvでMacのやつやSJISのやつを扱うとき</a><br />
「mb_convert_encoding」をする前に「ereg_replace」で文字置換でしてやって、その置換後のファイルを改めてエンコーディングするってことです。<br />
ふ～そうなんや～って感じです。<br />
macとwin　やっぱり色々違うもんです。</p>
<p>2.csvファイルにHTMLが含まれている場合</p>
<p>これがなんだか迷ったのですが、調べていくうちに、<br />
テンポラリファイルというものを作って、その中に上でエンコーディングし終えたファイルを入れ込み、<br />
それをfgetcsvという命令で1列づつ取り出していく方法が簡単そうでした。</p>
<p>とりあえず、今回ぶつかった壁はこの2つです。</p>
<p>出来たプログラムはこんな感じ</p>
<pre class="brush: php;">
&amp;lt;?php

$row = 0;

$file = file_get_contents(&amp;quot;post.csv&amp;quot;);
$file = ereg_replace(&amp;quot;\r\n|\r|\n&amp;quot;,&amp;quot;\n&amp;quot;,mb_convert_encoding($file,&amp;quot;UTF-8&amp;quot;,&amp;quot;SJIS-win&amp;quot;));
$fp = tmpfile();
fputs($fp,$file);
fseek($fp,0);

while (($data = fgetcsv($fp)) !== false) {
	$row++;
	if($row &amp;gt; 1 ){
		echo '&amp;lt;p&amp;gt;'.$data[0].'&amp;lt;/p&amp;gt;';
		echo '&amp;lt;p&amp;gt;'.$data[1].'&amp;lt;/p&amp;gt;';
		echo '&amp;lt;p&amp;gt;'.$data[2].'&amp;lt;/p&amp;gt;';
		echo '&amp;lt;p&amp;gt;'.$data[3].'&amp;lt;/p&amp;gt;';
		echo '&amp;lt;p&amp;gt;'.$data[4].'&amp;lt;/p&amp;gt;';
		echo '&amp;lt;p&amp;gt;'.$data[5].'&amp;lt;/p&amp;gt;';
		echo '&amp;lt;p&amp;gt;'.$data[6].'&amp;lt;/p&amp;gt;';
	}
}
?&amp;gt;
</pre>

	<div class="clearfloat"></div>タグ:<a href="http://blog.bgs-works.com/tag/csv/" title="csv" rel="tag">csv</a>, <a href="http://blog.bgs-works.com/tag/mac/" title="Mac" rel="tag">Mac</a>, <a href="http://blog.bgs-works.com/tag/php/" title="PHP" rel="tag">PHP</a>, <a href="http://blog.bgs-works.com/category/php/" title="PHP" rel="tag">PHP</a>, <a href="http://blog.bgs-works.com/tag/%e3%82%a8%e3%83%b3%e3%82%b3%e3%83%bc%e3%83%87%e3%82%a3%e3%83%b3%e3%82%b0/" title="エンコーディング" rel="tag">エンコーディング</a><br />

	<h4>関連する投稿</h4>
	<ul class="st-related-posts">
	<li><a href="http://blog.bgs-works.com/2009/11/wordpress-xml-rss/" title="[WordPress] XML-RPCを駆使してブログの記事を投稿してみる (2009/11/08)">[WordPress] XML-RPCを駆使してブログの記事を投稿してみる</a> </li>
	<li><a href="http://blog.bgs-works.com/2009/11/mac-%e5%8b%95%e7%94%bb%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%81%8b%e3%82%89%e9%9f%b3%e5%a3%b0%e3%82%92%e5%8f%96%e3%82%8a%e5%87%ba%e3%81%97%e3%81%a6ipod%e3%81%a7%e8%81%9e%e3%81%8f%e6%96%b9%e6%b3%95-2/" title="[Mac] 動画ファイルから音声を取り出してipodで聞く方法 Vol.2 (2009/11/07)">[Mac] 動画ファイルから音声を取り出してipodで聞く方法 Vol.2</a> </li>
	<li><a href="http://blog.bgs-works.com/2009/05/mac-airmac-extreme%e3%81%ab%e3%81%a4%e3%81%aa%e3%81%84%e3%81%a0%e5%a4%96%e4%bb%98%e3%81%91hd%e3%82%92%e3%83%9e%e3%82%a6%e3%83%b3%e3%83%88%e3%81%97%e3%81%a6%e3%81%8a%e3%81%8f/" title="[Mac]  AirMac Extremeにつないだ外付けHDDをマウントしておく (2009/05/29)">[Mac]  AirMac Extremeにつないだ外付けHDDをマウントしておく</a> </li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://blog.bgs-works.com/2009/11/php-csv%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%82%92%e8%aa%ad%e3%81%bf%e8%be%bc%e3%82%80%e3%81%a8%e3%81%8d%e3%81%ae%e6%96%b9%e6%b3%95/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.bgs-works.com/2009/11/php-csv%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%82%92%e8%aa%ad%e3%81%bf%e8%be%bc%e3%82%80%e3%81%a8%e3%81%8d%e3%81%ae%e6%96%b9%e6%b3%95/" />
	</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->