@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

CSVファイルについて

投稿者投稿内容
砂丘
会議室デビュー日: 2006/10/27
投稿数: 9
投稿日時: 2006-10-30 14:31
OS   :WindowsXP Pro
Server  :SQLServer Management Studio
開発環境 :Microsoft Visual Studio 2005


初めて投稿します。鳥取唯一の砂漠からと申します。
プログラムはまだ始めたばかりの素人なので、なにとぞご教授ください。

CSVファイルについてのご質問です。
現在ボタンをクリックしたら、SQLServerからテーブルのデータを取り込みCSV出力したいのですが、出力した値が文字化けしてしまう現象が起こり、色々調べたのですが解決方法が分からず困っております。なにとぞ宜しくお願いいたします。
shimix
ぬし
会議室デビュー日: 2004/08/05
投稿数: 512
お住まい・勤務地: 大分市
投稿日時: 2006-10-30 14:40
引用:

鳥取唯一の砂丘からさんの書き込み (2006-10-30 14:31) より:
現在ボタンをクリックしたら、SQLServerからテーブルのデータを取り込みCSV出力したいのですが、出力した値が文字化けしてしまう現象が起こり、色々調べたのですが解決方法が分からず困っております。なにとぞ宜しくお願いいたします。

文字化けという一言で済ませられると逆質問が増えますが(汗)CSV出力を保存してエディタで開いたときにSJIS以外の文字コードなら読めるのでしょうか?
NAO
ぬし
会議室デビュー日: 2001/10/24
投稿数: 1256
お住まい・勤務地: 神奈川のはずれから東京の下町
投稿日時: 2006-10-30 14:46
>鳥取唯一の砂丘からさん

大きな誤解をしていると思うので補足

引用:

Server  :SQLServer Management Studio


は管理ツールですので、SQL Server 2005(Expressかな?)
で良いんですよね?

で、

引用:

現在ボタンをクリックしたら、SQLServerからテーブルのデータを取り込みCSV出力したいのですが、出力した値が文字化けしてしまう現象が起こり、色々調べたのですが解決方法が分からず困っております。なにとぞ宜しくお願いいたします。



文章が変なので修正。

現在ボタンをクリックしたら、SQLServer上にあるテーブルからデータをCSVで読み込み、CSV出力したいのですが、出力した値が文字化けしてしまう現象が起こり、色々調べたのですが解決方法が分からず困っております。

ですよね?

んで。

SQL Serverの当該データベースの文字コードとプログラムで指定している文字コードはあってます?
Wingard
大ベテラン
会議室デビュー日: 2004/10/04
投稿数: 168
お住まい・勤務地: 頭の中はファンタージェン
投稿日時: 2006-10-30 15:43
StreamWriterでCSVに書き込んでいるのだとすれば、
Encoding.GetEncodingでエンコード指定すればうまくいくかもしれません。

とりあえず、そのデータの「読込」と「出力」に関するソースがないと、
どうすればいいかもよくわかりません……。
現状ではVBかCかってこともわかりませんし。

_________________
◇◇◇ 社内SEを兼務する文系プログラマです。
◇◇◇ WinXP VisualStudio2005(C#メイン) MS・SQLServer とかを使っています。
◇◇◇ 周囲にプログラマがいないので、みなさんだけが頼りですヽ(`Д´;ノ
砂丘
会議室デビュー日: 2006/10/27
投稿数: 9
投稿日時: 2006-10-30 16:32
shimixさんへ>

返信のほうありがとうございました。

文字化と抽象的過ぎました。申し訳ありませんでした。
調べたところUTF-8なら開くことが出来ました。




NAOさんへ>

返信のほうありがとうございました。
引用:
--------------------------------------------------------------------------------
現在ボタンをクリックしたら、SQLServer上にあるテーブルからデータをCSVで読み込み、CSV出力したいのですが、出力した値が文字化けしてしまう現象が起こり、色々調べたのですが解決方法が分からず困っております。
--------------------------------------------------------------------------------

文章変更申し訳ありません。まさにその通りです。分かりにくく申し訳ありませんでした。



Wingardさんへ>
C#を使っております。

ソースとしては
string path = "C:sample.csv";
System.IO.StreamWriter textFile;
textFile = System.IO.File.CreateText(path);
textFile.Write("1,鳥取最高");
textFile.Close();



を参考にテキストファイルを作成し、出力させております。

エンコードの指定でSJISにして保存する方法はあるのなら、教えて頂きたいです。
宜しくお願いします。

[ メッセージ編集済み 編集者: 鳥取唯一の砂丘から 編集日時 2006-10-30 16:42 ]
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-10-30 16:48
引用:

鳥取唯一の砂丘からさんの書き込み (2006-10-30 16:32) より:

エンコードの指定でSJISにして保存する方法はあるのなら、教えて頂きたいです。


new System.IO.StreamWriter("test.csv", System.Text.Encoding.GetEncoding("Shift_JIS")

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
Wingard
大ベテラン
会議室デビュー日: 2004/10/04
投稿数: 168
お住まい・勤務地: 頭の中はファンタージェン
投稿日時: 2006-10-30 16:59
であれば、こちらのサイトお勧めです。

http://homepage3.nifty.com/midori_no_bike/CS/

ここの、
ファイル関連>テキストファイルを書く
の項目がまさにそのことについて解説しています。
NAO
ぬし
会議室デビュー日: 2001/10/24
投稿数: 1256
お住まい・勤務地: 神奈川のはずれから東京の下町
投稿日時: 2006-10-30 17:05
引用:

じゃんぬねっとさんの書き込み (2006-10-30 16:48) より:
引用:

鳥取唯一の砂丘からさんの書き込み (2006-10-30 16:32) より:

エンコードの指定でSJISにして保存する方法はあるのなら、教えて頂きたいです。


new System.IO.StreamWriter("test.csv", System.Text.Encoding.GetEncoding("Shift_JIS")



new System.IO.StreamWriter("test.csv", System.Text.Encoding.GetEncoding("Shift_JIS"))

だよね?

#")"が一つ足りないと思われ。

ダブルクオーテーションで括らないと括弧が表示されなかったので修正
_________________
Inspired Ambitious
ISMS Assistant Auditor

[ メッセージ編集済み 編集者: NAO 編集日時 2006-10-30 17:08 ]

スキルアップ/キャリアアップ(JOB@IT)