java 项目 存入mysql后 变问号 MySql 5.6 (X64) 解压版 1067错误与编码问题的解决方案

Posted Rocken.li

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 项目 存入mysql后 变问号 MySql 5.6 (X64) 解压版 1067错误与编码问题的解决方案相关的知识,希望对你有一定的参考价值。

环境 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是参照度娘

如何安装MySQL,MySQL两种安装方式_百度经验 安装的,里面没提到my.ini 顺便看了别的文章说安装前要复制mydefault.ini 成my.ini  于是复制,配置,悲催的是发现服务 提示 1067 无法启动 于是卸载重装,,查看Windows日志,,,(找不到 安装目录 error.sys?) 去其它目录又找了一遍my.ini  最后冷静一想我是有my.ini才报的. 于是一句一句的试,发现 配置了  

basedir=E:\MYSQL\mysql-5.6.23-winx64
datadir=E:\MYSQL\mysql-5.6.23-winx64\data
后就会报 1067 于是去掉以上两个配置,正常启动!!!!!!!!!!!!!!!!!!!!
(很多文章说这两个是基础配置,,甚至说其它配置都可以去掉这两个不能,这个坑太深)
以下是现在的配置

#########################################################
[client]
port=3306
default-character-set=utf8
[mysqld]
port=3306
character_set_server=utf8

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[WinMySQLAdmin]
D:\**********************\mysql-5.6.38-winx64\bin\mysqld.exe

执行  SHOW VARIABLES LIKE ‘character_set_%‘;  列表全部变为utf8  有一个binary  调试正常.........................











以上是关于java 项目 存入mysql后 变问号 MySql 5.6 (X64) 解压版 1067错误与编码问题的解决方案的主要内容,如果未能解决你的问题,请参考以下文章

MySQL往数据库中存入中文字符时变问号

java 时间存入数据库 乱码

急求:PHP 中文写入数据库中文是问号,怎么解决

java插入中文到oracle变问号

mysql命令行导入sql脚本中文变问号问题

mysql中文乱码--存入mysql里的中文变成问号的解决办法