zoukankan      html  css  js  c++  java
  • 创建mysql数据库时指定编码

    1.   查看mysql数据库的编码:

    show variables like 'character\_set\_%';

    2.mysql 创建 数据库时指定编码很重要,很多开发者都使用了默认编码,但是我使用的经验来看,制定数据库的编码可以很大程度上避免倒入导出带来的乱码问题。


    我们遵循的标准是,数据库,表,字段和页面或文本的编码要统一起来
    很多mysql数据库工具(除了phpmyadmin,我偶尔用,功能强速度慢)都不支持创建时指定数据库编码,当然可以改my.ini来解决这个问题,但是需要重新启动mysql,不过用下面的语句会更有效

    GBK: create database test2 DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;

    UTF8: CREATE DATABASE `test2` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci

    注意:如果不是通过my.ini配置文件设置的内容,只在当前状态下有效,当重启数据库服务后失效。所以如果想要不出现乱码只有修改my.ini文件,数据库编码可以在创建数据库时候指定UTF8,如下:
    |character_set_client      | utf8                                  |
    | character_set_connection | utf8                                  |
    | character_set_database   | utf8                                  |
    | character_set_filesystem | binary                                |
    | character_set_results    | utf8                                  |
    | character_set_server     | latin1                                |
    | character_set_system     | utf8           

    注意该配置| character_set_server     | latin1 无法设置成UTF8
    交互时候仍然会出现乱码。

    只有当修改my.ini中设置UTF8,才会全部修改成UTF8

    -------------------------
    mysql设置编码命令 

    SET character_set_client = utf8; 
    SET character_set_connection = utf8; 
    SET character_set_database = utf8; 
    SET character_set_results = utf8;/*这里要注意很有用*/ 
    SET character_set_server = utf8; 

    SET collation_connection = utf8_bin; 
    SET collation_database = utf8_bin; 
    SET collation_server = utf8_bin; 

    my.ini中配置默认编码 
    default-character-set=utf8 

    连接数据库设置编码 
    jdbc:mysql://192.168.0.5:3306/test?characterEncoding=utf8 

    /*****************************************java与mysq编码对应****************************************/ 
    java中的常用编码UTF-8;GBK;GB2312;ISO-8859-1; 
    对应mysql数据库中的编码utf8;gbk;gb2312;latin1



    ---------------------------
    数据库连接串中指定字符集URL=jdbc:mysql://yourIP/college?user=root&password=yourPassword&useUnicode=true&characterEncoding=gbk

                                             jdbc:mysql://192.168.1.190:3306/ShipRemoteFeeDB?useUnicode=true&characterEncoding=utf-8

    -----------------------------

    1.查看数据库支持的所有字符集
    show character set;或show char set;

    2.查看当前状态 里面包括当然的字符集设置
    status或者\s

    3.查看系统字符集设置,包括所有的字符集设置
    show variables like 'char%';

    4.查看数据表中字符集设置
    show full columns from tablename; 或者 show create tabletablename\G;

    5.查看数据库编码
    show create database dnname;



    修改字符集命令
    级别 命令 时效 备注
    服务器 SET GLOBAL character_set_server=utf8; 临时  
    服务器 修改配置文件: [mysqld] default-character-set=utf8 永久  
    数据库 SET GLOBAL character_set_database=utf8; 临时  
    数据库 同修改服务器 临时  
    表 ALTER TABLE table_name DEFAULT CHARSET utf8; 永久  
    列 alter table `t_test` change `name` `name` varchar (255) characterset utf8 collate utf8_general_ci null default null; 永久  
    连接 show variables like 'char%'; 临时  
    连接 修改配置文件: [client] default-character-set=utf8 永久  



    创建时指定字符集
    级别 命令
    服务器级 在安装MySQL时可以设置服务器的默认编码格式
    数据库级 CREATE DATABASE db_name DEFAULT CHARACTER SET utf8;
    表级 CREATE TABLE `db_name`.`tb_name` ( id VARCHAR(20) NOT NULL, nameVARCHAR(20) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    列级 CREATE TABLE `db_name`.`tb_name` ( id varchar(20) NOT NULL, namevarchar(20) CHARACTER SET utf8 );

  • 相关阅读:
    sqlhelper使用指南
    大三学长带我学习JAVA。作业1. 第1讲.Java.SE入门、JDK的下载与安装、第一个Java程序、Java程序的编译与执行 大三学长带我学习JAVA。作业1.
    pku1201 Intervals
    hdu 1364 king
    pku 3268 Silver Cow Party
    pku 3169 Layout
    hdu 2680 Choose the best route
    hdu 2983
    pku 1716 Integer Intervals
    pku 2387 Til the Cows Come Home
  • 原文地址:https://www.cnblogs.com/lbangel/p/3044076.html
Copyright © 2011-2022 走看看