- 198 名前:nobodyさん mailto:sage [2007/10/15(月) 12:31:20 ID:???]
- >>195
なにも理解せずにデータセット「.xsd」の不具合対策を入れたんだろうな。 <globalization requestEncoding="utf-8" responseEncoding="utf-8" fileEncoding="utf-8"/> VB.NETの場合、.aspxや.aspx.vbは(デフォルトなら)HTMLをUTF-8で出力する 関係上、文字コード「UTF-8 BOM付き」で保存されるんだが、「新しい項目の追加-クラス」で 追加された「Class1.vb」は、文字コード「Shift-JIS」で保存されます。 (「新しい項目の追加-クラス」の「Shift-JIS」はVSのバグっぽいが) このように.aspx.vb「UTF-8 BOM付き」、Class1.vb「Shift-JIS」と文字コードが混在していても 通常は動作する時に文字コードを自動判別するので問題は起きないのですが、 <globalization fileEncoding="utf-8"/>を追加すると、プロジェクト内の全てのファイルを「utf-8」 で読もうとする為、当然「Shift-JIS」で保存されているClass1.vbの2バイト文字は化けます。 余談だが、レコードセット「.xsd」の不具合の方もこれに若干似ていて、「UTF-8 BOM無し」で保存 されるから日本語のフィールドやテーブル名があると起きる。 上記から導き出せる解決策 1.globalizationで「.xsd」の不具合修正を追加したまま「Class1.vb」を「UTF-8 BOM付き」にする。 2.globalizationを削除して、「.xsd」を「UTF-8 BOM付き」で保存する。 3.globalizationを削除して、「.xsd」と「Class1.vb」を「UTF-8 BOM付き」で保存する。 他にも方法はあるがこの中から選べばいい。 (「.xsd」はShift-JISで保存でも解決したり) 文字コードの変更方法は、テキストエディタでも良いしVSからなら 該当ファイルを開いて「ファイル-名前をつけて保存-保存ボタン右の▼-エンコードつきで保存-エンコード」
|

|