美文网首页
Mysql设置编码,插入不了中文问题

Mysql设置编码,插入不了中文问题

作者: 103style | 来源:发表于2017-07-04 23:36 被阅读84次

问题出现在 安装的时候没有自己设置编码,用的默认的latin1编码

windows
修改步骤:

  • 找到安装的根目录,找到与bin文件夹同级的my.ini文件
  • 打开文件 修改 default-character-set=latin1为 default-character-set=utf8
  • 往下翻 修改 character-set-server=latin1 为 character-set-server=utf8
  • 然后 win + R ,输入services.msc 找到mysql服务 重新启动

这样登录数据库的时候用命令status去查的时候发现编码都是utf-8了,
然后运行use test(数据库名字) ,再运行status,发现Db的字符集还是latin1
然后修改方法是运行下面的命令

  • 修改库的编码 alter database test(数据库名字) character set utf8;

然而用jdbc插入中文的时候 同样报错,心累!

然后 发现eclipse的编码是GBK,
然后修改为UTF-8之后,运行,还是抛出异常
com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Unknown column '0哈哈' in 'field list'
心累....

解决了在记录吧...

最后附上代码:

java文件

package com.luoxiaoke.learn.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ResourceBundle;

public class JDBCWithConfig {
    public static void main(String[] args) throws Exception {
    String classname;
    String url;
    String user;
    String password;
    ResourceBundle bundle = ResourceBundle.getBundle("DBconfig");
    classname = bundle.getString("driverclass");
    url = bundle.getString("url");
    user = bundle.getString("user");
    password = bundle.getString("password");

    Class.forName(classname);
    Connection con = DriverManager.getConnection(url, user, password);
    Statement statement = con.createStatement();

    for (int i = 0; i < 10; i++) {
        statement.execute("insert into user values(null," + i+"哈哈," + i + ")");
    }

    String sql = "select * from user";
    ResultSet resultSet = statement.executeQuery(sql);
    while (resultSet.next()) {
        System.out.println(resultSet.getString("name") + "___"+ resultSet.getInt("age"));
    }

    resultSet.close();
    statement.close();
    con.close();
}
}

DBconfig.properties

driverclass = com.mysql.jdbc.Driver
url = jdbc:mysql:///lxk
user = root
password = root

相关文章

  • Mysql设置编码,插入不了中文问题

    问题出现在 安装的时候没有自己设置编码,用的默认的latin1编码 windows修改步骤: 找到安装的根目录,找...

  • MySQL:编码错误记录

    1、1366 :中文插入错误 描述问题:表和数据库都设置编码utf-8 还是插入错误的问题解决: 、查看mysql...

  • 关于mysql中文编码的问题解决方案

    问题一、数据库中文乱码 现象: 插入中文数据到mysql后,发现乱码解决方案: 设置数据库编码统一为utf8(因为...

  • 简单明白彻底解决 MySQL 中文编码问题

    简单明白彻底解决 MySQL 中文编码问题 1. 问题重现 2. 分析和解决 2.1 数据库编码设置 2.1.1 ...

  • 问题小记

    工作中遇到的问题汇总: 1.MySQL插入中文的时候会出现: 原因: 数据库编码问题:数据库默认编码为:Latin...

  • Web笔记-MySQL

    MySQL远程登录 MySQL MAC5.7.17及以上版本中文显示乱码问题 若编码信息如图,则无需设置。若dat...

  • mysql (11)

    关于mysql 的编码 msyql 的默认编码是lartin1 ,如果插入中文,有的时候会显示成为 ??? 编辑 ...

  • mysql设置编码

    mysql默认编码是latin1,而我们存储中文一般用utf8,如果你用jdbc向mysql中插入中文会报错,下面...

  • python 读取 mysql 中文乱码

    这两天看了很多关于mysql中文乱码的问题,除了创建table的时候设置为utf8编码以及修改mysql配置文件的...

  • Spring boot 构建docker镜像

    项目目录: 调用docker mysql容器配置: Mysql 容器中文编码设置(uft8),启动时添加如下命令:...

网友评论

      本文标题:Mysql设置编码,插入不了中文问题

      本文链接:https://www.haomeiwen.com/subject/evhfhxtx.html