mac编码查看及修改

这里主要说三个方面:

一、mac的系统编码;

二、mysql字符编码(解决中文乱码和中文变 ?号);

三、编码引起的文件乱码问题。


第一个容易:

1,终端输入:locale,全是 zh_CN.UTF-8 属于正常,就别改了!

2,不是的话就会各种乱码,接着往下走:vim ~/.bash_profile 或者是 touch .bash_profile

    写入 LC_ALL="zh_CN.UTF-8" 保存退出。

3,过五分钟再 locale 一下,就能改好。(当时我退出来查看还没改过来,五分钟后它自动改过来了,至少确认了第二部操作确实有效)

    mac编码查看及修改_第1张图片

第二个mysql的默认字符集:

1,先说终极方法,可以实现一劳永逸:

linux,mac环境,修改mysql配置文件/etc/my.cnf:

[mysqld]
character_set_server=utf8 
[client]
default_character_set=utf8 
[mysql]
default_character_set=utf8

win环境,修改mysql配置文件/etc/my.ini,文件不存在,则将my-default.ini 复制一下并改名为my.ini:(同上修改)

2,mamp for mac 这个集成有些坑爹,配置文件找不到,/etc 下新建也没用,那么就用别的方法:

mysql> SHOW VARIABLES LIKE '%char%';        #查看数据库编码

默认就是瑞典latin1

mac编码查看及修改_第2张图片

以下是换成我们自己的编码

进入某个库,执行 SET NAMES 'utf8' ,再次查看就会发现改好了:

mac编码查看及修改_第3张图片

这个方法会在重启数据库时被覆盖,需要每次开启数据库时执行一次!

下面普及一下有关mysql编码的知识,收集来的知识整理一下而已,各位请绕道:

     SETNAMES 'utf8';

    它相当于下面的三句指令:

     SETcharacter_set_client = utf8;

     SETcharacter_set_results = utf8;

     SETcharacter_set_connection = utf8;

 

    创建数据库时编码设置

    mysql> create database namecharacter set utf8;

 

    创建表时编码设置

    CREATE TABLE `tablename` (`id`int(10) unsigned NOT NULL auto_increment,PRIMARY KEY (`id`)) DEFAULTCHARSET=utf8;

 

    修改数据库成utf8.

    mysql> alter database dbname set utf8;

 

    修改表默认用utf8.

    mysql> alter table tablename set utf8;

 

    修改字段用utf8

    mysql> alter table tablename field_name varchar(50) CHARACTER SET utf8;


    Windows可在服务管理器中操作,也可使用命令行:

    net stop mysql 回车

    net start mysql 回车

    Linux下面可是用 service mysql restart

第三个文件解压乱码:(这是我以前的问题,最近暂时用不到,就先放着不写了)

网上推荐使用 The Unarchiver 解压就能解决,我系统还是10.10,安不了,我用 RAR extractor lite 解压器也完美解决了 !


        

你可能感兴趣的:(mac,mysql,字符编码)