【参考】
环境 Java环境JDK1.8 安装好了 mysql-5.6.38-winx64 idea2016(64)
问题是这样: idea 调试 eclips 项目 存入数据库后 变问号
首先eclips 和发布的项目都没有问题,第一想到的是编码问题,于是乎检查项目和数据库编码,但查看后发现编码都是utf-8 ,数据库是通过(navicat)查看的
但发现网上有文章说JDBC连接串里加上 ?useUnicode=true&characterEncoding=utf8 (试验不起作用)。有的文章提起了SHOW VARIABLES LIKE 'character_set_%'; (在Cmd里的mysql客户端里执行)这句话很重要,发现我的列表里基本全是gbk,alter database 'xxx' charset utf8 没用,于是想起了my.ini设置charset,于是噩梦开始了。 发现我的 数据库目录下没有my.ini 只有一个my-default.ini而且里面基本全是被注释了,只留了一句话。于是看网上说,有的在windows下,有的说在C program file 有的说D program file 有的说win7(X64)在programData下还是隐藏的 我是win764,以上设置显示隐藏 显示系统文件,无果。mysql是参照度娘
安装的,里面没提到my.ini 顺便看了别的文章说安装前要复制mydefault.ini 成my.ini 于是复制,配置,悲催的是发现服务 提示 1067 无法启动 于是卸载重装,,查看Windows日志,,,(找不到 安装目录 error.sys?) 去其它目录又找了一遍my.ini 最后冷静一想我是有my.ini才报的. 于是一句一句的试,发现 配置了
basedir=E:\MYSQL\mysql-5.6.23-winx64datadir=E:\MYSQL\mysql-5.6.23-winx64\data 后就会报 1067 于是去掉以上两个配置,正常启动!!!!!!!!!!!!!!!!!!!!
(很多文章说这两个是基础配置,,甚至说其它配置都可以去掉这两个不能,这个坑太深) 以下是现在的配置
#########################################################
[client]port=3306default-character-set=utf8[mysqld]port=3306character_set_server=utf8sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[WinMySQLAdmin]D:\**********************\mysql-5.6.38-winx64\bin\mysqld.exe执行 SHOW VARIABLES LIKE 'character_set_%'; 列表全部变为utf8 有一个binary 调试正常.........................