質問: 文字コードがSJISのファイルデータを読み込んで、文字コードがUTF-8のOracleデータベースのテーブルにデータを登録したいです。プログラムをC#で作成する際、文字コードの差異による問題がありましたらご教示頂きたく、よろしくお願い致します。 C#ではファイルをSJISで読み込んで、そのままDBへの登録処理をするだけで、プログラムやデータベースが文字コードの差異を吸収してくれるとありがたいのですが。 **実行環境** Windows 10 / Windows Server 2016 .NET Framework 4.6.2 Oracle 12.2
回答: C#の`string`はUnicodeと定められています。つまり、外部とやり取りする際には常にエンコーディングの変換が行われます。Shift-JISのファイルを読むのであれば読み込みの際にエンコーディングを指定しますし、Oracleと接続する際にはOracle側とエンコーディングの整合が取られます。 後は、各々を正しく設定するだけの問題となります。