sql >> データベース >  >> RDS >> Mysql

オブジェクトのリストのエンコーディングを変更します

    疑わしい ここで起こっていることは単純です。データベースに非Unicode列があり、Unicodeデータを格納しようとしています。表現できないキャラクターは確かに挨拶されます。正しい修正は次のとおりです。列がユニコードであることを確認してください。列エンコーディングをいじる可能性がある 動作しますが、くそ これは、Unicodeを使用する場合に比べて多くの作業です。

    Dapperは、物事を「そのまま」ADO.NETに渡します。プロバイダーが行うことはプロバイダー次第です。 データを送信するときにANSIとUnicodeのどちらかを選択するように指示する方法 ただし、データベース-DbString経由 、つまり

    conn.Execute(sql, new {
        id, name,
        desc = new DbString { IsAnsi = true, Value = desc }
    });
    

    これにより、長さなどを制御することもできます。ただし、エンコーディングは制御していません。 ここ;エンコーディングは通常、データベース自体またはプロバイダーのプロパティです。 MySQLにADO.NETでそれを制御するための特注の方法がある場合、私は「すべての耳」ですが、最初に、生のADO.NETで動作させる必要があります。




    1. 複雑なSQLの順序

    2. AndroidアプリケーションのmysqlデータベースからListViewにデータをフェッチできません

    3. mysqlで、カスケードの削除が機能しない場合

    4. Ruby on Rails:postgresqlのdatabase.ymlを編集するにはどうすればよいですか?