MySQL设置编码和项目中如何统一编码

数据库、表、表字段、服务器代码、服务器文件、浏览器显示的编码要统一。

建库建表时指定编码:

创建数据库时指定库编码:

create database databaseName default character set utf8 collate utf8_general_ci;

创建表时指定表编码:

create table tableName( id int(32) primary key not null )default charset=utf8; 

创建表时指定表字段编码:

create table tableName( id int(32) primary key not null, `code` varchar(128) unique not null character set utf8 collate utf8_general_ci )default charset=utf8;

当库和表的编码都设置后,表字段编码可以不用设置,反正我是这样理解的,不设置就默认使用表设置的编码。

mysql设置编码命令

注意:以下命令只在当前连接下有效,当重启数据库或新开连接后失效。想一劳永逸请在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;

mysql配置文件中配置默认编码

1、中止MySQL服务
2.1(Linux)、在/etc/下找到my.cnf,如果没有就把mysql的安装目录下的support-files目录(有的linux是安装目录的根目录)下的my-medium.cnf(或是my-large.cnf)复制到/etc/下并改名为my.cnf即可,这个步骤不同Linux版本会对应不用的目录和文件名。
2.2(Windows)、在安装根目录下找到my.ini,不可能没有。
3、打开my.cnf(或my.ini)以后修改成以下:

[client]
default-character-set=utf8 [mysqld] #set the default character set. character-set-server=utf8 init_connect='SET NAMES utf8' [mysqld_safe] default-character-set=utf8 [mysql] default-character-set=utf8

4、启动MySQL服务

连接数据库设置编码

jdbc:mysql://127.0.0.1:3306/test_db?useUnicode=true&characterEncoding=utf8

注意以上代码如果写在xml中由于&是xml中的字符实体,所以需要将&改成&

jdbc:mysql://127.0.0.1:3306/test_db?useUnicode=true&characterEncoding=utf8

服务器代码和文件设置编码

设置文件编码

首先,如果需要将所有文件的编码设置成utf-8,特别时在windows下经常出现此类乱码问题。
特别注意,这里说的是文件编码,你在代码里是设置不了的,只能通过外部来更改。
这里以eclipse为例:
这里写图片描述

python

# -*- coding: utf-8 -*-

jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>

浏览器显示编码

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

java与mysq编码对应关系

java中的常用编码UTF-8、GBK、GB2312、ISO-8859-1,对应mysql数据库中的编码utf8、gbk、gb2312、latin1。

转载于:https://my.oschina.net/tangzhichao/blog/781378

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值