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;

  • 相关阅读:
    c/c++基础 输入函数/流
    数据库的码/键
    sql plus笔记
    cmd delete oracle related
    CAN总线
    SAR ADC : 逐次逼近寄存器型(SAR)模数转换器(ADC)
    Cortex-M3寄存器等基础知识
    Cortex-M3知识点
    ARM指令和Thumb指令区别
    8051、ARM、AVR
  • 原文地址:https://www.cnblogs.com/aishangtaxuefeihong/p/6579694.html
Copyright © 2011-2022 走看看