在阿里云上了买了一个云服务器, 部署了一个程序,发现插入数据库后乱码了,都成了'????'. 
一开始怀疑是Tomcat7的原因 , 见文章 : http://blog.csdn.net/johnny901114/article/details/28454117 发现还是乱码.
然后输出,在XShell命令窗口还是输出乱码, 把XShell 窗口设置utf-8  ,发现窗口输出正常. 最后判定是Mysql数据的问题 : 

通过命令 :SHOW VARIABLES LIKE 'character%';  最终发现 
character_set_database和character_set_server的默认字符集还是latin1。

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/

二、最简单的完美修改方法,修改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,如下:
 
[mysqld]
port
= 3306
socket
= /var/lib/mysql/mysql.sock
character-set-server=utf8
 
3、在[mysql]字段里加入default-character-set=utf8,如下:
 
[mysql]
no-auto-rehash
default-character-set=utf8
 
修改完成后,service mysql restart重启mysql服务就生效。
注意:[mysqld]字段与[mysql]字段是有区别的。这点在网上没人反馈过。
 
使用SHOW VARIABLES LIKE 'character%';查看,发现数据库编码全已改成utf8。

character_set_client
| utf8 |
|
character_set_connection | utf8 |
|
character_set_database | utf8 |
|
character_set_filesystem |
binary|
|
character_set_results | utf8 |
|
character_set_server | utf8 |
|
character_set_system | utf8 |
|
character_sets_dir | /usr/share/mysql/charsets/ |


感谢下列文章的作者:

阿里云服务器实战(二): Linux MySql5.6数据库乱码问题的更多相关文章

  1. 阿里云服务器上开启linux远程桌面连接

    一.说明: 本文的目的是实现在windows机器上利用远程桌面连接来访问远程的linux桌面. 这里使用的是阿里云服务器,操作系统为Centos6.5. 二.基本步骤: 1.首先保证服务器已经安装完毕 ...

  2. 阿里云服务器实战(一) : 在Linux下Tomcat7下使用连接池

    云服务器 的环境如下: Tomcat7+MySql5.6 一,如果自定义了程序的文件目录 , 下面的/alidata/xxx 就是自定义的目录 在Linux的Tomcat的server.xml里的Ho ...

  3. 开启MySQL远程访问权限 允许远程连接(阿里云服务器)、linux关闭防火墙

    1.登陆mysql:mysql -u root -p mysql> show databases; +--------------------+ | Database | +---------- ...

  4. 一、使用Navicat连接阿里云服务器宝塔面板里创建的数据库

    一.数据库配置连接  (通过新增用户的方式)

  5. 初探云服务器ECS(Linux系统)

    PS: 购买的阿里云服务器(ECS,Linux系统),使用的弹性公网IP(EIP). 一.使用Xshell链接ECS 1.将公网IP填入主机即可 2.用户名一般为root,密码是自己设置的,填入即可. ...

  6. [我的阿里云服务器] —— WorkPress

    前言: WordPress是基于PHP和MYSQL编成的一套博客系统,因此一般会选择LAMP环境来让它最稳定地运行, 这里的LAMP指的是Linux.Apache.MySQL.PHP,我们我的阿里云服 ...

  7. 在阿里云服务器中配置JDK、tomcat、mysql

    阿里云服务器搭建配置 linux命令:参考:https://www.cnblogs.com/itdansan/p/8545187.html cat 文件名: 查看文件内容 ctrl+D : 退出查看 ...

  8. 阿里云服务器Centos7.4开放80端口的记录

    问题: 阿里云服务器安装的是centos7, 搭建网站安装lnmp1.5后发现访问不了, 不明所以, 在一论坛找到关于80端口未开放的原因. 需求: 开放80端口.于是有了下面第一,二,三部分关于开放 ...

  9. idea使用Deployment部署项目到阿里云服务器的全过程

    一.前言 之前玩了一下 Alibaba Cloud Toolkit 一键部署插件 这里顺便再提一下idea原生的Deployment自动部署项目吧,该功能也很强大,也不需要离开idea就可以直接将项目 ...

随机推荐

  1. ACM KMP 格式输入导致TLE

    在写 Oulipo   POJ - 3461 时候遇上的奇怪的问题 在格式输入上不一样,提交的时候返回TLE,两段代码如下: A#include<iostream> #include< ...

  2. Webpack 4 Tutorial: from 0 Conf to Production Mode

    webpack 4 is out! The popular module bundler gets a massive update. webpack 4, what's new? A massive ...

  3. Docker镜像的实现原理

    Docker 镜像是怎么实现增量的修改和维护的? 每个镜像都由很多层次构成,Docker 使用 Union FS 将这些不同的层结合到一个镜像中去. 通常 Union FS 有两个用途, 一方面可以实 ...

  4. Python3 编程第一步

    现在,我们能使用Python完成比 2+2 更复杂的工作.在下例里,我们能写出一个初步的斐波纳契数列如下: >>> # Fibonacci series: 斐波纳契数列 ... # ...

  5. pyinstaller 工具起步

    准备 依赖 pyinstaller下载 语法 核心命令 可选项 实战 md2htmlpy 使用pyinstaller 其他测试 -D选项 --icon选项 遇到错误怎么办 总结 继上次的那个Pytho ...

  6. Openresty 数据共享API.Data Sharing within an Nginx Worker

    摘要自:https://github.com/openresty/lua-nginx-module/#data-sharing-within-an-nginx-worker 每nginx worker ...

  7. Hazelcast集群原理分析

    简介 hazelcast其中一个很重要的应用就是可以将多个应用服务器组成一个分布式环境的应用,形成一个cluster.这个cluster可以选举出一个master来对外工作.而cluster中的各台服 ...

  8. SQLite 删除表(http://www.w3cschool.cc/sqlite/sqlite-drop-table.html)

    SQLite 删除表 SQLite 的 DROP TABLE 语句用来删除表定义及其所有相关数据.索引.触发器.约束和该表的权限规范. 使用此命令时要特别注意,因为一旦一个表被删除,表中所有信息也将永 ...

  9. FFmpeg源代码简单分析:avcodec_open2()

    ===================================================== FFmpeg的库函数源代码分析文章列表: [架构图] FFmpeg源代码结构图 - 解码 F ...

  10. Shell命令:echo 命令详解

    http://blog.chinaunix.net/uid-27124799-id-3383327.html # echo命令介绍 功能说明:显示文字. 语 法:echo [-ne][字符串] / e ...