mysql 数据库字符集定义
来源:互联网 发布:淘宝店铺密码忘了 编辑:程序博客网 时间:2024/04/30 07:47
使用MySQL字符集时的建议
• 建立数据库/表和进行数据库操作时尽量显式指出使用的字符集,而不是依赖于MySQL的默认设置,否则MySQL升级时可能带来很大困扰;
• 数据库和连接字符集都使用latin1时,虽然大部分情况下都可以解决乱码问题,但缺点是无法以字符为单位来进行SQL操作,一般情况下将数据库和连接字符集都置为utf8是较好的选择;
• 使用mysql CAPI(mysql提供C语言操作的API)时,初始化数据库句柄后马上用mysql_options设定MYSQL_SET_CHARSET_NAME属性为utf8,这样就不用显式地用SET NAMES语句指定连接字符集,且用mysql_ping重连断开的长连接时也会把连接字符集重置为utf8;
• 对于mysql PHP API,一般页面级的PHP程序总运行时间较短,在连接到数据库以后显式用SET NAMES语句设置一次连接字符集即可;但当使用长连接时,请注意保持连接通畅并在断开重连后用SET NAMES语句显式重置连接字符集。
其他注意事项
• my.cnf中的default_character_set设置只影响mysql命令连接服务器时的连接字符集,不会对使用libmysqlclient库的应用程序产生任何作用!
• 对字段进行的SQL函数操作通常都是以内部操作字符集进行的,不受连接字符集设置的影响。
• SQL语句中的裸字符串会受到连接字符集或introducer设置的影响,对于比较之类的操作可能产生完全不同的结果,需要小心!
总结
根据上面的分析和建议,我们解决我们遇到问题应该使用什么方法大家心里应该比较清楚了。对,就是在创建database的时候指定字符集,不要去通过修改默认配置来达到目的,当然你也可以采用指定表的字符集的形式,但很容易出现遗漏,特别是在很多人都参与设计的时候,更容易纰漏。
MySQL字符集设置
• 系统变量:
– character_set_server:默认的内部操作字符集
– character_set_client:客户端来源数据使用的字符集
– character_set_connection:连接层字符集
– character_set_results:查询结果字符集
– character_set_database:当前选中数据库的默认字符集
– character_set_system:系统元数据(字段名等)字符集
– 还有以collation_开头的同上面对应的变量,用来描述字符序。
查看数据库的字符集
mysql>\s;
如 default-character-set = utf8
character_set_server = utf8
修改完后,重启mysql的服务
(2) 还有一种修改字符集的方法,就是使用mysql的命令
mysql> SET character_set_client = utf8 ;
mysql> SET character_set_connection = utf8 ;
mysql> SET character_set_database = utf8 ;
mysql> SET character_set_results = utf8 ;
mysql> SET character_set_server = utf8 ;
mysql> SET collation_connection = utf8 ;
mysql> SET collation_database = utf8 ;
mysql> SET collation_server = utf8 ;
2.创建数据库指定数据库的字符集
mysql>create database zabbix character set utf8 collate utf8_bin;
3.修改数据库的字符集
mysql>use mydb
mysql>alter database mydb character set utf8;
4,导出utf8格式
mysqldump -uroot -p --default-character-set=utf8 dbname tablename > bak.sql
5,导入utf8格式
mysql -uroot -p --default-character-set=utf8 dbname < bak.sql
0 0
- mysql 数据库字符集定义
- Mysql 数据库字符集转换
- Mysql 数据库字符集转换
- MYSQL数据库字符集支持
- 查看mysql数据库字符集
- mysql数据库字符集
- MySQL 数据库ut8mb4字符集
- MySQL 数据库字符集
- Mysql数据库字符集问题
- 修改数据库字符集,字段字符集(mysql)
- MySQL数据库服务器和数据库MySQL字符集
- Mysql数据库字符集的设置
- mysql创建数据库指定字符集
- MySQL数据库字符集及其操作
- mysql数据库的字符集相关
- mysql创建数据库指定字符集
- mysql数据库如何设置字符集
- mysql数据库设置默认字符集
- Hadoop 研发之远程调试详细剖析--WordCount V2.0
- spring boot 全局异常捕获
- webx记录
- 微服务架构 (八): 业务驱动与团队协作微服务粒度设计: 微服务内部的世界
- 自定义View
- mysql 数据库字符集定义
- Java类加载器(一)——类加载器层次与模型
- Python学习笔记(2)-whil,for,for...in,循环嵌套
- 机房收费系统之上下机
- codeforces 374C Inna and Dima (dfs+记忆化)
- window环境下使用ndk编译出android studio/Eclipse能使用的ffmpeg动态库
- Java类加载器(二)——自定义类加载器
- 关于C语言字符串Dddi DdD的一些问题处理
- 解析C语言结构体对齐(内存对齐问题)