質問: 私のasp.netコアWebアプリケーションは、MySQLデータベースです。私はマイグレーションと更新データベースを生成し、異なるマシンで異なるテーブルの照合を確認します。私のマシンでは、 **latin1 - デフォルトの照合**と別のマシンで、 **utf8 - デフォルトの照合**です。 だからこの振る舞いのために、私は日本語や他の言語の仕事を挿入している間に例外が発生しています。æ-¥æœ¬èaž、EspañolMÃxicoまたはç®€ä1⁄2 "ä ̧æ-‡ varchar(64)列。このテーブルで**utf8 - デフォルトの照合**がある別のマシンで正常に動作します。 **EFコアバージョン:** 2.0.1 **MySql:** 5.7.22 ** このEFコアの問題ですか?または、適切な照合またはエンコードを使用してデータベースを生成するための回避策がありますか?
回答: あなたがMySqlで設定されたデフォルトの照合順序を持っていれば、それはMySqlによって選択されます。照合はデータベースシステムの設定です。おそらく、マシン上のデフォルトの照合順序を変更する必要があります。 他のオプションは、移行時にテーブルステートメントを作成した後に追加することです。 ``` Sql('alter table convert to character set utf8 collate utf8_unicode_ci'); ```