SQL Datatableの特殊文字を読み込み、C#のデータテーブルに読み込む際に問題が発生しています。私は現在、私のテーブルを埋めるためにSqlDataAdapterオブジェクトを使用しています:c#DataSetにSQLテーブル(特殊文字を含む)を読み込みます。
using (oSQLConnection = new SqlConnection(oDBConnection.ConnectionString))
{
oSQLConnection.Open();
using (oSQLDataAdapter = new SqlDataAdapter(sQuery, oSQLConnection))
{
oSQLDataAdapter.SelectCommand.CommandTimeout = 0;
oSQLDataAdapter.Fill(DataSource, sTableName);
}
}
しかし、これは、このようなSam’s
予告それは通常の引用ではありません引用符などの特殊文字ではうまく機能しません。 rest – now
のような文字は、この例では通常のenダッシュ( - これはemダッシュ)ではありません。文字はrest ¿ now
としてデータセットに表示されます。メンバーの1人がSqlDataReaderを使用しようとしましたが、DataSetにロード機能はありません(DataTableのみ)。他の提案はありますか?
このメソッドが呼び出された後にコードにブレークポイントを置くと、これらの結果が出てくることがわかりました。データセットではrest now
と表示され、このデータセットをCSVファイルにエクスポートする場合はrest ¿ now
で終了します。私の推測では、文字セットはデータセットでサポートされていないので、データセットでサポートされている別の文字に変換されます。
SQLカラムdataType = nvarchar
ありがとう。
EDITED: 私はこれらの文字が一致しない理由を理解しました。これは、emダッシュまたは特殊引用符でOracleにDATAをロードするためです。ただし、Oracleはこれらの文字をサポートしていないため、upsidedownの疑問符がサポートされている別の文字と文字を切り替えます。私は、OracleはUTF8にあり、SQLのデータを検索する(つまり、SQLで一致する文字列を実行する)ためだと思います.SQLには、疑問符が逆さまになる変数があります。
私は皆さんに質問があります。これらの特殊文字をOracle - EM Dashおよび特別な引用符でロードするとき。キャラクターを同じに保つことは可能ですか? SQLで検索すると、それに応じて表示されます。
ありがとうございました。
あなたはそれが正しく表示されないと思っていますか?データセットには表示されません。デバッガ、文字列出力、htmlなどがあります。何かがユニコードをサポートしていないかもしれません。詳細を教えていただけますか? CSVファイル内のテキスト、どうやってそれを保存していますか?多くのプレーンテキストエディタは、その文字セットをサポートしない方法をエンコードします。 – Nikki9696
ここには、CSVエンコーディングに特化したリンクがあります。http://stackoverflow.com/questions/3728282/unicode-in-csv-file – Nikki9696
@ Nikki9696あなたの助けをありがとう!!私は質問を更新しました。これは文字列が一致しなかった理由です。あなたがこの新しい質問の解決策を持っているかどうか教えてください –