• Java中MySQL 数据库插入中文出错的问题 1366


    解决办法:

    1 -- 修该表的编码方式
    2 ALTER TABLE `t_book` DEFAULT CHARACTER SET utf8;
    3 -- 该命令用于将表t_book的编码方式改为utf8;
    1 -- 修改字段的编码方式
    2 ALTER TABLE `t_book` CHANGE `author` `author` VARCHAR(100) CHARACTER SET utf8 NOT NULL;
    3 -- 该命令用于将表test中name字段的编码方式改为utf8

     或:

    -- ALTER TABLE 表名 MODIFY 字段名 类型(50) CHARACTER SET "utf8";
    
    ALTER TABLE t_book MODIFY name varchar(100) CHARACTER SET "utf8";

     ========================================分割线================================================

    在尝试以上两种方法后,在shell或Navicat可以插入中文,但是并不能从根本上解决问题(Java中保存中文还是出现乱码),

    经过一段时间排查,发现问题出在jdbc配置源的编码上。

    修改前:

    1 username=****
    2 password=********
    3 url=jdbc:mysql://localhost:3306/book
    4 driverClassName=com.mysql.jdbc.Driver
    5 initialSize=5
    6 maxActive=10

    修改后:

    1 username=****
    2 password=********
    3 -- 修改
    4 characterEncoding=UTF-8
    5 url=jdbc:mysql://localhost:3306/book?characterEncoding=UTF-8
    6 -- 修改
    7 driverClassName=com.mysql.jdbc.Driver
    8 initialSize=5
    9 maxActive=10

    问题解决。

    #

  • 相关阅读:
    表数据驱动之直接访问
    Sam format
    samtools faidx
    bwa index|amb|ann|bwt|pac|sa
    68.26-95.44-99.74 rule|empirical rule
    z-scores|zα
    Normally Distributed|
    数理统计与概率论的关系
    The General Addition Rule|complementation rule|special addition rule|
    Events|sample space|mutually exclusive events
  • 原文地址:https://www.cnblogs.com/nuister/p/12637398.html
Copyright © 2020-2023  润新知