zoukankan      html  css  js  c++  java
  • Encoding of mysql for mac

    Chinese characters are not displayed properly in my terminal.

    Solution: set all encoding in utf8

    (in mysql using utf8 not utf-8)

    Step1: check your encoding of mysql

    mysql> show variables like "character%";
    +--------------------------+-----------------------+
    | 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-5.7.16-osx10.11-x86_64/share/charsets/ |
    +--------------------------+---------------------------+
    8 rows in set (0.00 sec)

    Maybe your terminal would display diff from mine. That's OK and you have to set default encoding by modify the "my.cnf" file of mysql.

    Step2 : Modify default encoding of mysql

    http://www.cnblogs.com/jinjidedale/p/6183451.html 

    Step3: Change the database & table encoding

    mysql> alter database testDB character set utf8;
    Query OK, 1 row affected (0.01 sec)
    
    mysql> alter table testTB convert to character set utf8;
    Query OK, 0 rows affected (0.06 sec)
    Records: 0  Duplicates: 0  Warnings: 0

    Check your database & table encoding now and remember to restart your mysql if necessary. 

     mysql> show create database testDB;

     +----------+-------------------+

     | Database | Create Database   |

     +----------+-------------------+

     | testDB   | CREATE DATABASE `testDB` /*!40100 DEFAULT CHARACTER SET utf8 */ |

     +----------+-------------------+

     1 row in set (0.00 sec)

    mysql> show create table testTB;
    +--------+----------------+
    | Table  | Create Table                                                                                              
    +--------+----------------+
    | testTB | CREATE TABLE `testTB` (
      `testNum` varchar(16) NOT NULL,
      `testName` varchar(32) NOT NULL,
      `testDate` date NOT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
    +--------+----------------+
    1 row in set (0.01 sec)

    Step4: change import file encoding

    If you insert data by loading data infile, you have to makes sure the file has the same encdoing of utf8. The files I get from windows cannot directly use for importing. Mostly the files have Chinese character are encoding with gbk. You can open the file by Safari and click "view-encoding" to change into gbk. [cmd+A][cmd+c] copy the file into a new file opened by "text editor" and set preference of storing by encoding utf-8 in "open&store". Then the new file is totally can view in utf-8 with Chinese characters.

    Finally you can import data form "test.txt" instead of insert data one by one.

    mysql> load data local infile "/Users/.../Desktop/test.txt" into table testTB (testNum,testName,date);
    Query OK, 4 rows affected, 1 warning (0.00 sec)
    Records: 4  Deleted: 0  Skipped: 0  Warnings: 1

    good luck!

     

  • 相关阅读:
    Docker安装mysql
    解决SpringMVC+Thymeleaf中文乱码
    Web API 自动生成接口文档
    .Net Core 定时任务TimeJob
    使用 FTP 迁移 SQL Server 数据_迁移数据_快速入门(SQL Server)_云数据库 RDS 版-阿里云
    SQLServer · 最佳实践 · 如何将SQL Server 2012降级到2008 R2-博客-云栖社区-阿里云
    PNG文件转png8
    实战ASP.NET访问共享文件夹(含详细操作步骤)
    MVC JsonResult
    你必须知道的EF知识和经验
  • 原文地址:https://www.cnblogs.com/22Kon/p/6713768.html
Copyright © 2011-2022 走看看