CGI-BBS > JAVA/JavaScript > JavaScript > CSVファイルを読み込んでデータベースの各項目を表示したい。


カレッヂ
カレッヂ


質問者 masa  投稿日 2004/4/13(火) 20:14:28
ある本に、ホームページに商品リストを表示するのに商品データベース(CSVファイル)を
読み込んで各項目と画像を表示させると言う下記サンプルが掲載されておりました。
これを応用して私用のデータベースを作りたいと考えております。
Mac(OS 10.3)+Internet Explorer または Netscapeでindex.htmを実行して、
CSVファイル(list2.txt)を読み込んだ際に
2バイト形の文字が化けてしまったり表示されなかったりして四苦八苦しております。
どの様に直したら良いか教えて下さい。よろしくお願い致します。

index.htm
------------------------------------------------------------------------------------------------
<HTML>
<HEAD>
<META HTTP-EQUIV="content-type" CONTENT="text/html; CHARSET=shift_jis">
<TITLE>商品詳細</TITLE></HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!--
function NextItem(){
  ItemList.recordset.movenext();
  if( ItemList.recordset.EOF ){
    ItemList.recordset.movefirst();
  }
}
function BackItem(){
  ItemList.recordset.moveprevious();
  if( ItemList.recordset.BOF ){
    ItemList.recordset.movelast();
  }
}
//-->
</SCRIPT>
<OBJECT CLASSID="clsid:333c7bc4-460f-11d0-bc04-0080c7055a83" 
ID=ItemList>
<PARAM NAME="CharSet" VALUE="shift-jis">
<PARAM NAME="DataURL" VALUE="list2.txt">
<PARAM NAME="UseHeader" VALUE="true">
</OBJECT>
<BODY BACKGROUND="background.jpg" TEXT="#00a400" 
STYLE="margin-left:80px">
<IMG SRC="logo.gif"><center>
<INPUT ID="BackData" TYPE="button" VALUE="< 前" 
onClick="BackItem()">
<INPUT ID="NextData" TYPE="button" VALUE="次 >" 
onClick="NextItem()"></center>
<P>
<PRE>
<FIELDSET STYLE="padding:10px;
width:630px;
border-width:10;
border-color:#99FF99;font-size:12pt;background=#ffffdd">
ISBNコード   :   <SPAN DATASRC=#ItemList DATAFLD="no" ></SPAN><P>
シリーズ     :   <SPAN DATASRC=#ItemList DATAFLD="syurui"></SPAN><P>
品 名       :   <SPAN DATASRC=#ItemList DATAFLD="name"></SPAN><P>
定 価       :   <SPAN DATASRC=#ItemList DATAFLD="teika"></SPAN>円
画 像        :   <IMG BORDER="2" DATASRC=#ItemList DATAFLD="image" ALIGN="absmiddle"><P>
</FIELDSET>
</PRE>
</BODY>
</HTML>
------------------------------------------------------------------------------------------------

list2.txt
------------------------------------------------------------------------------------------------
no:INT,name,syurui,teika:INT,zaiko,image
ISBN4-8163-3019-4,"フレッツ・ISDNで高速インターネットする方法","知りたいことが必ずわかる",1500,0,"001.jpg"
ISBN4-8163-2985-4,"一台のパソコンを家族でとことん使う方法","知りたいことが必ずわかる",1500,8,"002.jpg"
ISBN4-8163-2942-0,"インタネート圧縮・解凍ファイルの復元","知りたいことが必ずわかる",1600,5,"003.jpg"
ISBN4-8163-2935-8,"いらないファイルの安全な消し方","知りたいことが必ずわかる",1500,8,"004.jpg"
ISBN4-8163-2999-4,"Access2000「応用講座」","大活字バインダー式",1680,6,"005.jpg"
ISBN4-8163-2998-6,"Windows Me「応用講座」","大活字バインダー式",1580,4,"006.jpg"
ISBN4-8163-2997-8,"インターネット「応用講座」","大活字バインダー式",1580,10,"007.jpg"
ISBN4-8163-2986-2,"Illustrator9.0「基礎講座」","大活字バインダー式",1580,10,"008.jpg"
ISBN4-8163-2957-9,"Photoshop6.0「基礎講座」","大活字バインダー式",1580,8,"009.jpg"
ISBN4-8163-2953-6,"Excel2000「応用講座」","大活字バインダー式",1580,3,"010.jpg"
ISBN4-8163-2956-0,"Word2000「応用講座」","大活字バインダー式",1580,3,"011.jpg"
ISBN4-8163-3020-8,"簡単すぐわかるIllustrator9.0","ステップ図解",1900,3,"012.jpg"
ISBN4-8163-2983-8,"Windows Me ウラ技テクニック","ステップ図解",1800,3,"013.jpg"
ISBN4-8163-2988-9,"Windows Me でネットワーク","ステップ図解",2000,3,"014.jpg"
ISBN4-8163-2969-2,"ハードディスクの増設・ダイエット・復旧","ステップ図解",2000,3,"015.jpg"
------------------------------------------------------------------------------------------------

プロバイダ参照:
サーバのOS:(未選択)
パソコンのOS:MacX
エディタ:
FTPソフト:
サーバ移転:していない
改造:していない
CGI習熟度:firsttime

回答者 sim  [削除]  投稿日 2004/4/14(水) 01:51:53
Macが解らないので推測です。。
JavaScriptやDHTMLには問題ない気がします。

list2.txtの文字コードはShift_JISになっていますか?
文字化けと言うことなので、文字コードを見直してみてはいかがでしょうか?

list2.txtの文字コード
index.htmlの文字コード
charsetで指定する文字コード

あと、これってネットスケープで動くのですか?
質問者 masa  [削除]  投稿日 2004/4/14(水) 19:00:45
simさん、ありがとうございます。
文字コードを確認してみましたが、ダメでした。
ネットスケープでは、項目が表示できません。

このサンプルプログラムにはこだわりません。
Mac(OS 10.3)+Internet Explorer、Netscapeでこのサンプルの機能と同等のことをしたいのですが、
他に良いものがありましたら教えて下さい。あまり知識がありませんが、是非よろしくお願いします。
回答者 cen_picture21  [削除]  投稿日 2004/4/19(月) 19:17:40
ちなみに、MACのIEでこれ動作しますか?

http://www.geocities.jp/cen_picture21/c_html_g/nnesm_imc_pf927.htm

動作するなら、
上記のHTMLに
<PARAM NAME="CharSet" VALUE="shift-jis">
を削除して
<PARAM name="TextQualifier" value=",">を加え
list2.txtの内容を、
""を使用せず、そのまま
まるまる,三角三角,まるまる
にしてみてください。

只、
確かMACのIEではこのてのデータバインドは動作しないと、認識していたので、
ちょっと驚いています。

質問者 masa  [削除]  投稿日 2004/4/19(月) 23:48:08
cen_picture21さん、ご連絡ありがとうございます。
教えて頂いたとおりに、PARAM nameと””を試してみましたが、
2バイトの文字だけ化けてしまい結果は同じでした。
残念です。Macでは無理なことなのでしょうか?
回答者 cen_picture21  [削除]  投稿日 2004/4/21(水) 20:05:08
Mac(OS 10.3)?で作成したS-JISは、
改行コードがLFで
CR+LFになっていないのでは?

改行コードを再確認してみてください。
質問者 masa  [削除]  投稿日 2004/4/21(水) 22:59:07
cen_picture21さん、
改行コードがCR+LFであることを確認して、もう一度IEで動かしてみましたが、
結果は変わりません。

Mac上でCSVファイルの読み込みを実現している方たちは
いったいどうやっているのでしょうか?
回答者 sim  [削除]  投稿日 2004/4/22(木) 03:59:56
Shift_JISではなく、UTF-8とかにしたらどうでしょうか?
実用性はあまりないですが。

返信(回答)する

 


Web裏技