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

データベースのエンコーディングの問題?質問マーク付きで表示されている二重引用符と一重引用符

    これは、文字エンコード設定の違いが原因である可能性があります。これは、いくつかの場所で有効になっている可能性があります。両方のサーバーにログインして、次のことを行うことをお勧めします。

    mysql> show variables like '%character%';
    +--------------------------+-----------------------------------------------+
    | Variable_name            | Value                                         |
    +--------------------------+-----------------------------------------------+
    | character_set_client     | latin1                                        |
    | character_set_connection | latin1                                        |
    | character_set_database   | latin1                                        |
    | character_set_filesystem | binary                                        |
    | character_set_results    | latin1                                        |
    | character_set_server     | latin1                                        |
    | character_set_system     | utf8                                          |
    | character_sets_dir       | D:\Servers\MySQL\MySQL_5_1_36\share\charsets\ |
    +--------------------------+-----------------------------------------------+
    8 rows in set (0.00 sec)
    

    そこに違いが見られるかどうかを確認してください。たとえば、デフォルトの接続文字セットが新しいサーバーで異なる場合、これらの結果を得ることができます。

    また、列の文字エンコード設定を確認する必要があります。SHOW CREATE TABLE <table-name>を実行します。 そして、文字セットが列レベルでまだ同じであるかどうかを確認しますmysql>

    EDIT代わりに、Martinがコメントで指摘したように、予期しないエンコーディングでエンコードされたSQLダンプを処理している可能性があります。詳細については、次のとおりです。 http: //dev.mysql.com/doc/refman/5.1/en/mysqldump.html#option_mysqldump_default-character-set 。この場合、iconv( http://www.gnu.org/software/libiconv/documentation/libiconv/iconv.1.html



    1. PostgreSQLリバースLIKE

    2. Npgsqlを使用したEntityFramework6

    3. SQL ServerのIDENTITY()とIDENTITY():違いは何ですか?

    4. MySQLは、別のテーブルの列の合計に基づいてフィールドを更新するようにトリガーします