mysql字符编码问题

问题描述

在一台机器上有个Mysql服务,我想在这台机器上创建两个数据库,但是期望的两个库的字符编码是不同的,一个希望是utf-8,另一个为latin1。请问Mysql是否支持数据库级别的字符设置(不要服务器级别的)?

解决方案

每一个数据库有一个数据库字符集和一个数据库校对规则,它不能够为空。CREATE DATABASE和ALTER DATABASE语句有一个可选的子句来指定数据库字符集和校对规则:CREATE DATABASE db_name[[DEFAULT] CHARACTER SET charset_name][[DEFAULT] COLLATE collation_name]ALTER DATABASE db_name[[DEFAULT] CHARACTER SET charset_name][[DEFAULT] COLLATE collation_name]例如:CREATE DATABASE db_nameDEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;MySQL这样选择数据库字符集和数据库校对规则:· 如果指定了CHARACTER SET X和COLLATE Y,那么采用字符集X和校对规则Y。· 如果指定了CHARACTER SET X而没有指定COLLATE Y,那么采用CHARACTER SET X和CHARACTER SET X的默认校对规则。· 否则,采用服务器字符集和服务器校对规则。
解决方案二:
1,在用工具创建的时候就可以选择的。2,对两个数据库的,在连接语句上也得加上不同编码,比如jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8这样才能确保没有乱码。不懂的可以问我。
解决方案三:
给你看个MySql的建表实例吧:引用DROP TABLE IF EXISTS `bsb`; CREATE TABLE `bsb` ( `id` int(34) NOT NULL default '0', `classess` varchar(45) default NULL, `asa_id` int(22) default NULL, PRIMARY KEY (`id`), KEY `asa_id` (`asa_id`), CONSTRAINT `asa_id` FOREIGN KEY (`asa_id`) REFERENCES `asa` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 看到最后面的 CHARSET=utf8 了么?所以说,MySQL的编码最细可以细到表这个级别的。
解决方案四:
支持,并且可以具体到每一张表

时间: 2024-09-21 10:45:31

mysql字符编码问题的相关文章

MySQL字符编码设置方法_Mysql

通过show variables like 'character_set%%';查看编码 修改mysql的编码方式可以有以下几个: 1.通过配置文件修改my.ini(windows下)或/etc/my.cnf(linux下) 分别添加如下内容 [mysqld] character_server_set=utf8 [mysql] default-character-set=utf8 [mysql.server] default-character-set=utf8 [mysql_safe] def

php 返回mysql字符编码与删除字符编码

php 返回mysql字符编码与删除字符编码 function Ebak_GetSetChar($char){  global $empire;  if(empty($char))  {   return '';  }  $r=$empire->fetch1("SHOW COLLATION LIKE '".$char."';");  return $r['Charset']; } //---------------------返回设置编码 function E

php网页与mysql的字符编码问题?

问题描述 php网页与mysql的字符编码问题? 一般在php与mysql中,涉及到字符编码有四个位置 1. html的meta标签中 2..html或者.php文件的字符类型 3.mysql中的数据库的字符集 4.表中字段的字符编码. 那么为了防止在数据库中或者在前端中,中文显示出现乱码, 上面的字符编码应该怎样设置呢? 解决方案 参考:http://blog.csdn.net/cfchengfei002/article/details/7301876 解决方案二: mysql用utf8编码,

mysql修改数据库编码(数据库字符集)和表的字符编码的方法_Mysql

mysql将表的字符编码转换成utf-8 复制代码 代码如下: alter table tb_anniversary convert to character set utf8; 修改数据库mysql字符编码为UTF8 步骤1:查看当前的字符编码方法 复制代码 代码如下: mysql> show variables like'character%'; +--------------------------+----------------------------+ |Variable_name 

MySQL查看和修改字符编码的实现方法_Mysql

MySQL的默认编码是Latin1,不支持中文,要支持中午需要把数据库的默认编码修改为gbk或者utf8. 1.需要以root用户身份登陆才可以查看数据库编码方式(以root用户身份登陆的命令为:>mysql -u root –p,之后两次输入root用户的密码),查看数据库的编码方式命令为: >show variables like 'character%'; +--------------------------+----------------------------+ | Variab

mysql-MySQL字符编码问题求解

问题描述 MySQL字符编码问题求解 首先表的创建语句如下: create table teacher(id int primary key auto_increment,name varchar(40))DEFAULT CHARSET=utf8; _MySQL中:show variables like 'char%' ;显示如下: +--------------------------+------------------------------------------------------

MySQL字符集和校对规则(Collation)

MySQL字符集和校对规则(Collation) 阅读目录:MySQL的字符集和校对规则 MySQL的字符集 MySQL与字符集 正确使用字符集 MySQL客户端与字符集 字符集编码转换原理 字符集常见处理操作 字符集的正确实践 MySQL的校对规则 一.字符集(Character set) 是多个字符(英文字符,汉字字符,或者其他国家语言字符)的集合,字符集种类较多,每个字符集包含的字符个数不同. 特点: ①字符编码方式是用一个或多个字节表示字符集中的一个字符 ②每种字符集都有自己特有的编码方

mysql数据库中文乱码应该怎么解决,修改配置文件中的字符编码并没有作用

问题描述 mysql数据库中文乱码应该怎么解决,修改配置文件中的字符编码并没有作用 mysql数据库中文乱码应该怎么解决,修改配置文件中的字符编码并没有作用. 解决方案 把当前数据库字符集改为utf8试一下. 解决方案二: 可以设置当前文本编码,与数据库一致 解决方案三: 先把文本粘贴到记事本,然后改成utf-8 保存后再粘贴回去

修改MySQL数据库字符编码为UTF-8解决中文乱码

问题: 由于MySQL编码原因会导致数据库出现乱码. 解决办法: 修改MySQL数据库字符编码为UTF-8,UTF-8包含全世界所有国家需要用到的字符,是国际编码. 具体操作: 1.进入MySQL控制台 mysql -uroot -p #输入密码进入 status; #查看当前MySQL运行状态,如下图所示: 系统运维  www.osyunwei.com  温馨提醒:系统运维原创内容版权所有,转载请注明出处及原文链接 Server characterset: latin1 Db characte