- ベストアンサー
JavaScriptの質問:csvファイルの日本語カラム名表示に問題がある
- JavaScriptの初心者がcsvファイルの日本語カラム名をブラウザに表示させる際に問題が発生しています。カラム名が日本語の場合、カラム名の部分は空白になってしまいます。
- JavaScriptのソースコード部分に問題がある可能性があります。document.writeを使用してテーブルを作成しているが、spanタグのdatafld属性に日本語のカラム名が正しく設定されていない可能性があります。
- また、JavaScriptを使用せずにHTMLだけで記述する場合には日本語カラム名でも正常に表示されるため、document.writeやJavaScriptの制限によるものかもしれません。他の部分にエラー原因がある可能性も考えられます。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
データバインドの<object>タグの属性で、文字コード等いろいろパラメータ指定 出来るみたいです。 <object id='ID1' classid='clsid:333C7BC4-460F-11D0-BC04-0080C7055A83' CharSet='shift-jis'> よく似たサンプル見つけました。 http://www4.airnet.ne.jp/hasikun/webtech/databind/databind01.html 解説は http://www.makoto3.net/document/databind/databind_all.html に詳しい それにしても、何故、document.writeなのか それより、何故いまさらIEだけのデータバインド使うのか
その他の回答 (3)
- yamada_g
- ベストアンサー率68% (258/374)
No.2です。 >実際のソースはご指摘通りに修正されていますが、動きません。 とありますが、ブラウザのバージョン等どのような環境で確認したのか具体的に書いた方がいいです。 自分は以下のhtmlを ブラウザ:IE8 OS:WindowsXP Pro SP3 で確認しました。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>データバインド</title> </head> <body> <script type="text/javascript"> document.open(); document.write("<object id='ID1' classid='clsid:333C7BC4-460F-11D0-BC04-0080C7055A83'>"); document.write("<param name='DataURL' value='test.csv'>"); document.write("<param name='UseHeader' value='true'>"); document.write("</object>"); document.write("<table datasrc='#ID1' border=1>"); document.write("<thead><tr>"); document.write("<th>日時</th>"); document.write("<th>場所</th>"); document.write("<th>参加人数</th>"); document.write("</tr></thead>"); document.write("<tbody>"); document.write("<tr>"); document.write("<td><span datafld='日時'></span></td>"); document.write("<td><span datafld='場所'></span></td>"); document.write("<td><span datafld='人数'></span></td>"); document.write("</tr>"); document.write("</tbody>"); document.write("</table>"); document.close(); </script> </body> </html> IE8以外のブラウザ(chrome、Firefox、opera、safari)では動かないなーと思っていたら >それより、何故いまさらIEだけのデータバインド使うのか だったのですね^^
お礼
お礼が遅れて申し訳ございません。 ご回答ありがとうございます。 環境情報が不足していました。すみません。 ご回答のソースは大変参考になりました。 先ほどの方のお礼にも書きましたが、どうやら問題は別にあるようです。 又、お二方ともとてもわかりやすかったので、先の方を ベストアンサーに選ばせてもらいました。 ・・・どうやら質問の方法から勉強しないとダメそうですね。 ありがとうございました。
- yamada_g
- ベストアンサー率68% (258/374)
もし、記載のとおりのソースであるならば >document.write('<td><span datafld='日時'></span></td>'); >document.write('<td><span datafld='B'></span></td>'); を、それぞれ document.write("<td><span datafld='日時'></span></td>"); document.write("<td><span datafld='B'></span></td>"); とすれば動きましたが。
お礼
ご回答ありがとうございました。誤って試行錯誤中の物を張り付けてしてしまいました。誠に申し訳ございません。 実際のソースはご指摘通りに修正されていますが、動きません。
- yyr446
- ベストアンサー率65% (870/1330)
文字コードってご存知ですか? WindowsパソコンでCSVのようなtextファイル作ると、「Sift-Jis」 という文字コードになります。 それが、あなたのWebページの文字コード指定と異なっているのですよ。 <head>の先頭にでも <meta http-equiv="Content-Type" content="text/html; charset=Shift-Jis"> とでも入れて試して見て下さい。 それで、データ部に"日時"と表示されて、他の部分が文字化けしてるなら、 あなたのページが「Shift-Jis」で保存されてないというわけなので、 「Shift-Jis」で保存(アップロード)しなおしましょう。 あるいは、CSVファイルの方の文字コードを変えて保存するかです。
お礼
早速のご回答ありがとうございました。ご回答通りに修正してみましたが、だめでした。 対象のcsvがshift-jisということも確認しました。携帯からの返信で読みづらくてすみません。 掲示板への書き込みがセキュリティにひっかかってしまいました。
お礼
お礼が遅れてすみませんでした。 ご回答ありがとうございます。 URL参考にさせていただきましたところ、とてもわかりやすかったです。 その他、色々と試してみましたが、document.write部分の記述は間違っていないようです。 問題は別にありそうなので、本件につきましてはとりあえず一度閉じさせていただきます。 ありがとうございました。
補足
>それにしても、何故、document.writeなのか >それより、何故いまさらIEだけのデータバインド使うのか 初心者で、それしかわからないからです(;_;)