
今晩は,いつも勉強させていただいております.
質問させていただきます.どうぞよろしくお願いいたします.
テキストファイル(ほとんどが自作のFortranコードで,英語と日本語のみで
ございます)を読み込みたいのですが,全角文字の読み込み
(下記コードになります)で文字化けいたします..
Dim SR As New System.IO.StreamReader(FileName, System.Text.Encoding.GetEncoding(51932))
'↑ここのエンコード(?)が怪しいのでは,などと考えている次第です.
Dim text As String = SR.ReadToEnd()
MsgBox("/" & text & "/")
'↑「text」が化けます...
エンコード(?いまいち理解しておりませんorz)の種類がおかしいのでは,
というところまでなんとか行き着きまして,色々と検索いたしておりますと
http://www.atmarkit.co.jp/fdotnet/dotnettips/013 …
にまとめてくださっておりましたので,思いつく数字を「51932」の代わりに
入れてみましたが,どれも全角文字が文字化けいたします..
「0 shift_jis 日本語 (シフト JIS) 」
「932 shift_jis 日本語 (シフト JIS) 」
「1200 utf-16 Unicode 」
「51932 euc-jp 日本語 (EUC) 」「1200 utf-16 Unicode 」
もしかすると別の部分に問題があるのかもしれませんが..
調べておりますと,
http://dobon.net/vb/bbs/log3-25/15325.html
などよく似た症状なのですが,真似いたしましても解決いたしませんでした・・
もし,日本語と英語のテキストファイルすべてに通用するようなお勧め
エンコード方法のようなものがございましたら,ご紹介いただきたくお願い申し上げます.
お詳しい方がいらっしゃいましたら,是非ともアドバイスいただきたく
どうぞよろしくお願いいたします
No.2ベストアンサー
- 回答日時:
試していないエンコードのうち、可能性が高そうな順で。
。。65001utf-8Unicode (UTF-8)
1201unicodeFFFEUnicode (Big-Endian)
50220iso-2022-jp日本語 (JIS)
20932EUC-JP日本語 (JIS 0208-1990 and 0212-1990)
10001x-mac-japanese日本語 (Mac)
エンコードが分からなくなった時の我流の調べ方
1. バイナリを見て判断。
2. ブラウザで開いて正しく表示されるエンコードを探す。
3. メモ帳で開いて文字化けしなければ「名前を付けて保存」の文字コードを確認。
あと、お気づきかもしれませんが、コードページ 0 は、システムの既定のエンコードです。Windowsが日本語版だからこそshift_jisになっているだけですので 0 = shift_jis と覚えないようにご注意を。
おすすめのエンコード。。。
私がよく使うのは、Unicode(UTF-16), UTF-8, Shift_JISあたりですかね。XMLやHTMLはUTF-8で書くことがほとんどです。
どーでもいい話ですが、気になったのでVisual Studio 2005のコードを見てみたらVB(*.vb)はShift_JIS、C#(*.cs)はUTF-8でした。
なぜ違うのだろう。。。(?_?)
どうもありがとうございます!!m(_ _)m
>可能性が高そうな順で。。。
>65001 utf-8 Unicode (UTF-8)
ビンゴでございます^^b
>2. ブラウザで開いて正しく表示されるエンコードを探す。
あ.確かにMsgBoxの表示と同じ化け方になりました.
>3. メモ帳で開いて文字化けしなければ「名前を付けて保存」の文字コードを確認。
なんとメモ帳の保存時に出ていたんですね.今まで気付きませんでした^^;
どうもありがとうございます!
>あと、お気づきかもしれませんが~
> 0 = shift_jis と覚えないようにご注意を。
今知りました!w 覚えます!(`-´ゞ
>よく使うのは、Unicode(UTF-16), UTF-8, Shift_JIS
どうもありがとうございます!!助かります!
>VB(*.vb)はShift_JIS、C#(*.cs)はUTF-8でした
と併せて考えても,今後読み込むソースファイルに応じてエンコード方法を
変える必要があるということですね・・実際,UTF-8にしてから
他のファイル(日本語文書)が読めなくなりました・・orz
今後のためにプログラム側からエンコードを知る方法が何かあれば良いのですが・・
色々とアドバイスいただきまして,どうもありがとうございました!!
とりあえず今からFormの上にエンコード種類のコンボボックスを追加します^^;
どうもありがとうございました!!!!
No.1
- 回答日時:
とりあえず、今のテキストファイルのエンコードの種類見てみれば
よろしいかと。
自分がよくやるのは
エディタ(秀丸等)で開いて「エンコードの種類」を見て判断しています。
エディタ(秀丸等)で開いたとき、エンコード失敗のエラーが出たら、
ファイルのフォーマット異常の可能性も判断できますし。
ただ、あらかた、試しているようなので、
残りの可能性は utf-8 くらいしかない気がする。
どうもありがとうございます!!
秀丸で確認してみましたところ,utf-8でございました.
No.2氏からもutf-8の番号をご紹介いただけておりましたので
試してみましたところ,読めるようになりました^^
・・しかしFortlanコード以外の普通の文書が読めなくなりました orz
この続きはまた検索して頑張ってみます.
>エディタ(秀丸等)で開いたとき、エンコード失敗のエラーが出たら、
>ファイルのフォーマット異常の可能性も判断できますし。
存じませんでしたm(_ _)m 勉強になります.どうもありがとうございます!
この度はご閲覧・アドバイスいただきましてどうもありがとうございました.
ありがとうポイントですが,No.2氏からお勧めエンコードも詳しく
ご紹介いただけましたのでNo.2氏に優先して付けさせていただきます.
また見かけたらどうぞ助けてやってくださいm(_ _)m
この度はおかげで助かりました.^^どうもありがとうございました!!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ATTファイルってどうやって開け...
-
既存のテキストファイルを開く方法
-
テキストファイルをSQLServerデ...
-
Excel VBAが徐々に遅くなる
-
エクセルVBAでメールの自動作成...
-
UTF-8とASCIIコードにおける互...
-
Javaのプロパティファイルの文...
-
テキストファイルの一部分を抽...
-
テキストファイルをiCalendar形...
-
テキストファイル内の文字の有...
-
テキストファイル内容の、16進...
-
テキストファイルを読んで、Exc...
-
C#で大容量ファイルの一部編集
-
テキストファイルの中身をコピ...
-
ストリームについて。
-
accessでクエリをExcelにエクス...
-
CSVファイルの時刻の形式について
-
COBOL、項目末尾に空白がある場...
-
0バイトのテキストファイル
-
<input type="file" で初期値...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ATTファイルってどうやって開け...
-
テキストファイルの一部分を抽...
-
テキストファイル固定長データ...
-
既存のテキストファイルを開く方法
-
VB(VBA)で、バイナリデータを使...
-
テキストファイル内容の、16進...
-
VBSでテキストファイルの2行目...
-
ストリームについて。
-
エクセルVBAでメールの自動作成...
-
受信メールを一括してテキスト...
-
WORDのVBAで差し込み印刷時、デ...
-
別のサーバーのテキストファイ...
-
excelからtextへ変換する際の出...
-
テキストファイルの特定行の削...
-
Zbarというソフトについて
-
Excel VBAが徐々に遅くなる
-
テキストファイル内の文字の有...
-
テキストファイルを検索・編集...
-
HTMLでこんなこと可能ですか??
-
こんな場合はどうすればいいの?
おすすめ情報