zoukankan      html  css  js  c++  java
  • 关于“WARN: SQL Error: 1366, SQLState: HY000”错误的解决方案

    向MySQL导入数据时,出现以下错误提示:

    org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions
    ERROR: Incorrect string value: 'xE5x95x8AxE5xAEx9E...' for column 'titel' at row 1


    【原因】
    这是因为 MySQL 数据库字符集设定是 utf8,而导入的数据含有非 utf8 编码的字符(特别是中文或其它非英文字符),所以出现此错误。

    【解决】
    方法1:
    把要导入的数据转换为 utf8 编码后再导入。(如果是txt、csv等文本数据,可以用记事本打开,然后另存为 UTF-8 编码的文本即可)

    方法2:
    1) 修改 MySQL 中要导入数据的数据表字符集,例如:改为中文gbk字集

    修改代码(MySQL控制台):
    mysql> alter table content modify author varchar(30) character set gbk;
    注意:要将数据表里面的所有列都要逐一这样处理。然后再重新导入数据,即可成功!

    2) 页面需要声明用GBK或者GB2312编码,而且在页面需要进行转码,例如:
    String content1 = new String(request.getParameter("content1").getBytes("ISO-8859-1"));
    页面读取不需要转码,写入需要转码。

    方法3:
    修改整个数据库的编码:
    mysql> alter database testdb character set gbk;

  • 相关阅读:
    ByteBuffer用法总结
    内部类访问外部同名属性或者方法
    floodlight 学习(一)
    ubuntu 更改文件所有者
    python cmd 模块
    matlab 矩阵
    python操作MySQL数据库
    Win 7 下制作 mac 系统启动U盘
    Window 常用命令
    大数据扫盲
  • 原文地址:https://www.cnblogs.com/aishangtaxuefeihong/p/6579694.html
Copyright © 2011-2022 走看看