• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > mysql编码问题汇总

mysql编码问题汇总

作者:salonhuang的博客 字体:[增加 减小] 来源:互联网 时间:2017-08-07

salonhuang的博客通过本文主要向大家介绍了mysql编码问题,mysql编码设置,查看mysql编码,mysql编码,mysql编码修改等相关知识,希望本文的分享对您有所帮助

一、登录MySQL查看用SHOW VARIABLES LIKE ‘character%’;下字符集,显示如下:
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+


character_set_database和character_set_server的默认字符集还是latin1。

二、最简单的完美修改方法,修改mysql的my.cnf文件中的字符集键值(注意配置的字段细节):

1、在[client]字段里加入default-character-set=utf8,如下:
[client]
port = 3306
socket = /var/lib/mysql/mysql.sock
default-character-set=utf8

2、在[mysqld]字段里加入character-set-server=utf8,如下:
(加入init-connect='set names utf8',)
[mysqld]
port = 3306
socket = /var/lib/mysql/mysql.sock
character-set-server=utf8

init-connect='SET NAMES UTF8'

3、在[mysql]字段里加入default-character-set=utf8,如下:
[mysql]
no-auto-rehash
default-character-set=utf8

修改完成后,service mysql restart重启mysql服务就生效。注意:[mysqld]字段与[mysql]字段是有区别的。这点在网上没人反馈过。

4、可以在mysql终端里面修改,不过只对这个会话生效

set character_set_client=utf8;

set names utf8;

 

到MySQL命令行输入“SET NAMES UTF8;”,然后执行“show variebles like“character_set_%”;”,发现原来为latin1的那些变量“character_set_client”、“character_set_connection”、“character_set_results”的值全部变为utf8了,原来是这3个变量在捣蛋。

查阅手册,上面那句等于:

SET character_set_client = utf8;       

SET character_set_results = utf8;      

SET character_set_connection = utf8;  

看看这3个变量的作用:
信息输入路径:client→connection→server;
信息输出路径:server→connection→results。
换句话说,每个路径要经过3次改变字符集编码。以出现乱码的输出为例,server里utf8的数据,传入connection转为latin1,传入results转为latin1,utf-8页面又把results转过来。如果两种字符集不兼容,比如latin1和utf8,转化过程就为不可逆的,破坏性的。

但这里要声明一点,“SET NAMES UTF8”作用只是临时的,MySQL重启后就恢复默认了。

5、JDBC和mybatis中设置编码格式

在连接的url添加参数:useUnicode=true&characterEncoding=utf8

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

在mybatis中为:jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf8

(在xml中,下面的符号需要转义处理:)

 

原符号   <    <=    >    >=     &      '       "
替换符号 &lt; &lt;= &gt; &gt;= &amp; &apos; &quot;

 

 

 

 

原符号   <    <=    >    >=     &      '       "
替换符号 &lt; &lt;= &gt; &gt;= &amp; &apos; &quot;
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • mysql编码问题汇总

相关文章

  • 2018-12-05通过SQLSERVER重启SQLSERVER服务和计算机的方法
  • 2018-12-05虚拟主机MySQL数据库的备份与还原的方法
  • 2018-12-05MSSQL差异备份取系统权限的相关软件下载
  • 2018-12-05Mysql 行级锁的使用及死锁的预防方案
  • 2018-12-05MySQL索引原理和慢查询优化
  • 2018-12-05简单介绍mysql自定义函数
  • 2017-05-11MySQL的Replace into 与Insert into on duplicate key update真正的不同之处
  • 2017-05-11mysql 新增、删除用户和权限分配
  • 2018-12-05实例详解MySQL 与 Elasticsearch 数据不对称问题
  • 2018-12-05了解mysql中select语句操作实例

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • 解决hibernate+mysql写入数据库乱码
    • 为mysql数据库添加添加事务处理的方法
    • 完美解析SQL只需要简单的十个步骤
    • 15个初学者必看的基础SQL查询语句
    • 微软azure的mysql database服务器怎么修改系统时间呢
    • 详解MySQL的简单使用和JDBC示例代码分享
    • MySQL错误ERROR 1615 解决方法
    • Centos7 下Mysql5.7.19安装方法介绍
    • 有关SQL模糊查询
    • 如何通过PHP实现Mysql数据库连接、查询、记录集等操作

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有