38621


C# Windows Formsアプリ開発で多言語対応を進めており、  
データベース側(Oracle)の文字コードも含めUnicodeで多言語に対応します。

ただ、Unicodeといってもいくつかエンコーディングの方法(UTF-8,UTF-16）が  
あると思います。

ユニコードで多言語対応する場合、エンコーディングの方法は何が適しているのか  
知見のある方、ご教示ください。

現状、データベース、アプリ共にUTF-8を前提としようと考えております。


CC BY-SA 3.0
2017-10-12T02:14:54.577
38618
2017-10-12T02:44:13.503
9228
question
c# winforms
C# 多言語対応する場合のUnicodeのエンコーディングは何が良いかを教えて下さい。


C#自身は`string`型（.NET
Frameworkにて`System.String`クラス）が提供されていますので、それを利用することをお勧めします。  
その上で、データベースはデータベースで推奨されるエンコーディングを選択すべきです。例えばSQL
Serverでは[Unicodeのサポート](https://docs.microsoft.com/ja-jp/sql/relational-
databases/collations/collation-and-unicode-support#span-data-ttu-
id39855-231a-nameunicodedefna-
unicode-%E3%81%AE%E3%82%B5%E3%83%9D%E3%83%BC%E3%83%88spanspan-classsxs-
lookupspan-data-stu-id39855-231a-nameunicodedefna-unicode-
supportspanspan)の項目にて

> 複数の言語を反映する文字データを格納する場合は、非Unicodeデータ型 (`char`、`varchar`、および`text`)
> ではなく、Unicodeデータ型 (`nchar`、`nvarchar`、および`ntext`) を常に使用してください。

と説明されています。OracleにもOracleでの適切な選択肢が提示されていることと思います。

「アプリ」につきましては何を指しているのかわかりませんでした。


CC BY-SA 3.0
2017-10-12T02:44:13.503
38621
2017-10-12T02:44:13.503
4236
38618
answer