zoukankan      html  css  js  c++  java
  • 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

    问题解决。

    #

  • 相关阅读:
    P1141零一迷宫
    P1219八皇后
    P1233木棍加工
    三 Struts2 添加返回数据
    二 Struts2 接收数据
    一 Struts2 开发流程
    12-tinyMCE文本编辑器+图片上传预览+页面倒计时自动跳转
    11-page分页原理
    10-ajax技术简介
    9-文件上传和下载
  • 原文地址:https://www.cnblogs.com/nuister/p/12637398.html
Copyright © 2011-2022 走看看