MySQL UTF8 / ASCII / ISO编码问题

时间:2013-07-30 16:14:17

标签: mysql encoding ascii

我遇到了MySQL表编码的问题。

我做了什么

  1. 该表格设置为 utf8_unicode_ci
  2. 这些列也设置为 utf8_unicode_ci (如果需要)
  3. 设置“SET NAMES utf8”和观看之前的元
  4. 数据/问题

    从MS Word复制并粘贴相关列(评论)。

    • ââ,•等字符串代替'
    • PrêtÃManger应该阅读Pret a Manger
    • 其他类似问题

    我尝试过:

    UPDATE table_name SET col_name = CONVERT(CONVERT(CONVERT(col_name USING latin1) USING binary) USING utf8);
    

    这削减了数据。例如,“花费10英镑甚至更多的好评”。运行上述查询后,它将变为“ncie review costting”。

    任何帮助/建议都将受到重视。 谢谢, 马特

1 个答案:

答案 0 :(得分:0)

要仔细检查您是否拥有正确的utf8设置,请尝试以下操作:

  1. 登录mysql并运行mysql> show variables like 'char%';
  2. 输出应如下所示:

    
         +--------------------------+---------------------------------+
         | Variable_name            | Value                           |
         +--------------------------+---------------------------------+
         | character_set_client     | utf8                            |
         | character_set_connection | utf8                            |
         | character_set_database   | utf8                            |
         | character_set_filesystem | binary                          |
         | character_set_results    | utf8                            |
         | character_set_server     | utf8                            |
         | character_set_system     | utf8                            |
         | character_sets_dir       | /usr/local/mysql/share/charsets/|
         +--------------------------+---------------------------------+
    
    
    1. 然后运行mysql> show variables like 'collation%';
    2. 这应该给你:

      
           +----------------------+-----------------+
           | Variable_name        | Value           |
           +----------------------+-----------------+
           | collation_connection | utf8_general_ci |
           | collation_database   | utf8_unicode_ci |
           | collation_server     | utf8_unicode_ci |
           +----------------------+-----------------+
      
      

      如果您没有找到/etc/my.cnf/etc/mysql/my.cnf,请执行sudo find / -name my.cnf

      找到后,vim /etc/my.cnfi插入文字并添加

      
          [mysqld]
          collation-server = utf8_unicode_ci
          init-connect='SET NAMES utf8'
          character-set-server = utf8
      
      

      随意注释掉前一个/旧的[mysqld]块或行。

      esc保存文件,然后点击:wq并按enter

      1. 重新启动mysql service mysql restartservice mysqld restart
      2. 希望有所帮助。