现在utf-8编码方式应用越来越广泛,主要是原因应该受到当前国际化理念的驱动,像Wordpress就是完全用utf-8编码编码格式。在我一 次面试的时候遇到了相关问题,所以现在正在转向用utf-8编码。在刚开始的使用的时候,经常遇到各种编码问题,为了便于以后参考,在这里将一些要点罗列 一下。
1. MySQL数据库
MySQL(版本是5.1.22)支持多种编码格式,并且可以在多个级别上设置不同的编码格式。
-
服务器级:在安装MySQL时可以设置服务器的默认编码格式
-
数据库级:在创建数据库时可以指定数据库的编码格式,如果不指定,则默认继承服务器的编码格式。示例如下:
CREATE DATABASE db_name DEFAULT CHARACTER SET utf8;
-
表级:在MySQL中可以对同一个数据库中表指定不同的编码格式,如果不指定将继承数据库的编码格式。示例如下:
CREATE TABLE `db_name`.`tb_name` (
id VARCHAR(20) NOT NULL,
name VARCHAR(20)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-
列级:另外还可以对同一个表中的不同列指定不同的编码格式,示例如下:
CREATE TABLE `db_name`.`tb_name` (
id varchar(20) NOT NULL,
name varchar(20) CHARACTER SET utf8
);
关于MySQL支持字符集的更多信息,可以参考MySQL用户手册第九章Character Set Support。MySQL用户手册有在线版本,也有CHM版本,在Windows上安装MySQL时,会附带CHM版本。
示例如下:
CREATE TABLE IF NOT EXISTS `#@__member_snsmsg` (
`id` INT( 10 ) UNSIGNED NOT NULL AUTO_INCREMENT ,
`mid` MEDIUMINT( 8 ) UNSIGNED DEFAULT '0' NOT NULL ,
`userid` VARCHAR( 20 ) NOT NULL ,
`sendtime` INT( 10 ) UNSIGNED DEFAULT '0' NOT NULL ,
`msg` VARCHAR( 250 ) NOT NULL ,
PRIMARY KEY ( `id` )
) TYPE=MyISAM;
指定编码
CREATE TABLE IF NOT EXISTS `#@__member_snsmsg` (
`id` INT( 10 ) UNSIGNED NOT NULL AUTO_INCREMENT ,
`mid` MEDIUMINT( 8 ) UNSIGNED DEFAULT '0' NOT NULL ,
`userid` VARCHAR( 20 ) NOT NULL ,
`sendtime` INT( 10 ) UNSIGNED DEFAULT '0' NOT NULL ,
`msg` VARCHAR( 250 ) NOT NULL ,
PRIMARY KEY ( `id` )
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
分享到:
相关推荐
"国家开放大学 MySQL数据库应用实验训练1 在MySQL中创建数据库和表" 本实验训练旨在让学生掌握 MySQL 中的数据库和表的创建过程。 MySQL 是一种关系型数据库管理系统,广泛应用于各种领域。为提高学生的实践能力,...
mysql 创建数据库时指定编码很重要,很多开发者都使用了默认编码,乱码问题可是防不胜防。制定数据库的编码可以很大程度上避免倒入导出带来的乱码问题。 网页数据一般采用UTF8编码,而数据库默认为latin 。我们可以...
MySQL 中文显示问题解决方案 ...解决 MySQL 中文显示问题的关键是正确地设置编码方式,包括创建数据库和表时指定编码方式,以及修改 MySQL 的配置文件。这样可以确保数据库中的中文字符能够正确地存储和显示。
首先,创建数据库时应指定UTF-8字符集。在MySQL中,可以使用以下命令创建一个名为`my_db`的数据库,并设置其默认字符集为UTF-8和排序规则`utf8_general_ci`: ```sql CREATE DATABASE IF NOT EXISTS my_db DEFAULT ...
以下我们将详细讨论如何修改MySQL中的表和字段的编码方式。 首先,让我们了解一些基本概念: 1. **字符集(Character Set)**:定义了一组字符及其在计算机内存中的表示方式。例如,`latin1`是西欧字符集,`utf8`是...
#### 二、创建数据库并指定字符集 创建数据库时,可以直接指定其使用的字符集,如: ```sql CREATE DATABASE jsp CHARACTER SET utf8; ``` 此命令会创建一个名为“jsp”的新数据库,并将其默认字符集设置为UTF-8。 ...
在“Format”下拉框中,选择“SQL”,这将生成一个可读的SQL脚本,可以用于重新创建数据库结构和插入数据。同时,确保“Character Set”(字符集)设置为与你的数据库相同的编码,通常为“utf8”。 7. **开始导出**:...
我们需要修改数据库的编码方式,创建数据库和表时指定编码方式,设置 JSP 和 Tomcat 的编码方式,并查看字段的 Collation 项。通过这些设置,我们可以确保数据库中的中文数据正确地存储和显示。
`:创建数据库同时指定编码方式。 - **查看数据库信息**: - `SHOW DATABASES` 或 `SHOW SCHEMAS`:列出所有数据库。 - `SHOW CREATE DATABASE db_name;`:查看指定数据库的创建信息。 - **修改数据库编码方式*...
- 创建数据库时,可以指定字符集(如utf8)和校对规则(如utf8_general_ci),影响数据库中存储的数据编码和比较方式。 通过这些实验,学生能够深入理解MySQL数据库的基本操作和管理,为实际的企业级数据库应用...
// 创建数据库连接对象 $db = new clsMysql('localhost', 'root', 'password', 'testdb', 1, './logs/error.log'); // 执行 SQL 查询 $result = $db->query('SELECT * FROM users WHERE id = 1'); // 处理查询结果...
UTF-8是一种支持多语言的Unicode编码方式,能够兼容全球大多数语言的文字,非常适合中文环境下的应用。 #### 三、MySQL中文编码问题分析 1. **客户端与服务器字符集不匹配**:当客户端连接到MySQL服务器时,如果...
3. **建立连接**:使用`DriverManager.getConnection()`创建数据库连接,参数为ODBC数据源名、用户名和密码。 4. **创建Statement或PreparedStatement对象**:发送SQL语句,通常建议使用PreparedStatement以提高效率...
- **数据库字符集和校对规则**:可以在创建数据库时指定字符集和校对规则。 - **表字符集和校对规则**:创建表时也可以单独设置字符集和校对规则。 - **列字符集和校对规则**:对于某些特定的列,还可以单独设置...
因此,视图可以被视为一种存储查询的方式。 #### 视图的基本语法 ##### 创建视图 ```sql CREATE [OR REPLACE] VIEW 视图名 [(列名)] AS SELECT 语句 [WITH [CASCADE | LOCAL] CHECK OPTION]; ``` - **CREATE OR ...
在创建数据库时,你可能需要指定字符集和排序规则,例如使用UTF-8编码,可以这样写: ```sql CREATE DATABASE 数据库名 CHARACTER SET utf8 COLLATE utf8_general_ci; ``` 这里的`utf8`是字符集,`utf8_general_ci...
在本项目中,我们将探讨如何使用Java的JSP(Java Server Pages)技术来实现对MySQL数据库的备份,并通过属性文件进行配置和操作。这是一个实用且常见的需求,特别是在Web应用程序的开发和维护中。 首先,让我们了解...
3. **触发器**:MySQL 5.1支持触发器,这是一种数据库对象,可以在特定事件(如INSERT、UPDATE或DELETE)发生时自动执行指定的操作,增强了数据库的业务逻辑能力。 4. **视图**:视图是虚拟表,由SQL查询定义,可以...
本文将详细介绍如何创建数据库、添加用户以及进行用户授权,这些都是MySQL数据库管理的核心技能。 首先,我们来看如何创建数据库。在MySQL中,创建数据库的语句是`CREATE DATABASE`。例如,要创建一个名为“testdb...