質問 > その他 > 文字化けMySQLからダウンロード |
その他
フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
jerico39 |
投稿日時: 2011/1/5 19:39
対応状況: −−−
|
新米 登録日: 2011/1/5 居住地: 投稿: 2 |
文字化けMySQLからダウンロード はじめまして。
商品情報を定期的に特定のフォルダに落とすためにクーロンでphpを叩いてCSVを出力します。ひとまず実行すると直接DBに接続し、画面にカテゴリテーブルを表示するソースを作成しました。 しかし、以下のソースですとMySQLの文字化け問題により、テーブル内の日本語が文字化けしているため、文字化けして出力されます。 しかし、管理画面の機能でCSVをダウンロードすると、正常な日本語で出力されます。 以下のソースのように直接DBに接続して、DBの値を落とす場合、どのようにしたら正常な日本語で落とす事ができるのでしょうか。 宜しくお願い致します。 <?php // Config読込み include $_SERVER[DOCUMENT_ROOT]."/data/install.php"; //------------------------------------------------------ // MySQLに接続開始 $db = mysql_connect(DB_SERVER,DB_USER,DB_PASSWORD); mysql_query("SET NAMES utf8"); // DB指定(確認用) if(!mysql_select_db(DB_NAME, $db)){ //echo "<div style=\"color:red;\">\nメインデータベースに接続できません。</div>\n"; }elseif(mysql_select_db(DB_NAME, $db)){ //echo "<div style=\"color:green;\">\nDB指定OK!(".DB_NAME.")</div>\n\n\n"; } //------------------------------------------------------ $sql1="SELECT * FROM `dtb_category`" ; $rs = mysql_query($sql1,$db); if (mysql_num_rows($rs) == 0) { echo "No rows found, nothing to print so am exiting"; exit; } //DBをDL for($i=0; $i<mysql_num_fields($rs); $i++){ //print(mb_convert_encoding(mysql_field_name($rs,$i),"UTF-8","auto").","); print mysql_field_name($rs,$i).","; } print("\n"); for($j=0 ;$j<mysql_num_rows($rs); $j++) { for($k=0; $k<mysql_num_fields($rs); $k++) { $str=mysql_result($rs,$j,$k); //print(mb_convert_encoding($str,"UTF-8","auto").","); print $str.","; } print("\n"); } mysql_close($db); ?> |
フラット表示 | 前のトピック | 次のトピック |
題名 | 投稿者 | 日時 |
---|---|---|
» 文字化けMySQLからダウンロード | jerico39 | 2011/1/5 19:39 |
Re: 文字化けMySQLからダウンロード | AMUAMU | 2011/1/6 11:46 |
Re: 文字化けMySQLからダウンロード | jerico39 | 2011/1/6 19:58 |