zoukankan      html  css  js  c++  java
  • Web开发相关笔记 #05# MySQL中文无法匹配

    2018-06-02

    在 Class.forName 的时候记得先尝试 import 一下。

    2018-06-04

    1、JDBC SELECT 查询,中文条件查不出东西,可能是字符编码问题:

                String sql = "select reply from reply where words = ?";
                preparedStatement = conn.prepareStatement(sql);
                preparedStatement.setString(1, words);
                resultSet = preparedStatement.executeQuery();

    检查  conn = DriverManager.getConnection("jdbc:mysql://123.123.82.66:3306/chat", "123", "123");

    按如下修改 conn = DriverManager.getConnection("jdbc:mysql://123.123.82.66:3306/chat?characterEncoding=utf8", "123", "123");

    2、存储过程插入中文数据乱码??!!方案来自:https://blog.csdn.net/qq_20948497/article/details/78535941

    DROP PROCEDURE IF EXISTS insert_mapping;
    DELIMITER //
    CREATE PROCEDURE insert_mapping(
      IN words_in VARCHAR (100) character set utf8,
      IN reply_in VARCHAR (300) character set utf8
    )
    BEGIN
    --     先通过查 id 判断是否已经存在 words ,存在,直接插入 reply,不存在插入 words 和 reply
        DECLARE wid BIGINT DEFAULT 0;
        SELECT words_id FROM words WHERE words_in=words INTO wid;
    
        IF wid = 0 THEN
          INSERT INTO words(words) VALUES (words_in);
          SELECT words_id FROM words WHERE words_in=words INTO wid;
          INSERT INTO reply2(reply, words_id) VALUES (reply_in, wid);
        ELSE
          INSERT INTO reply2(reply, words_id) VALUES (reply_in, wid);
        END IF;
    END //
    DELIMITER ;
    --  插入一些 数据
    CALL insert_mapping('你好', '你好呢。');
    CALL insert_mapping('你好', 'hi.');

    3、命令行下插不了中文,JDBC却可以。

    set name gbk; 即可。 

    2018-06-05

    1、依然是连接 MySQL 中文没法匹配的问题,发现像下面那样修改一下就可以了:

    mysql> SET character_set_database=utf8;
    Query OK, 0 rows affected (0.00 sec)

    不过这种修改是临时性的,要永久性更改需要修改 mysql 的配置文件,但是我没有找到那个配置文件,于是修改了 my.cnf 结果是 mysql 启动不了了 。。。

  • 相关阅读:
    网上购物记录(2011淘宝大甩卖)
    心理学上最诡异的23张图!!
    三字念什么
    哥德尔不完备定理
    又要新的开始了(续)
    第一次接触计算机语言的经历
    哥德尔不完备性定理——从数学危机到哲学危机
    google (精简版)
    贴吧回复
    在轻松的环境中工作
  • 原文地址:https://www.cnblogs.com/xkxf/p/9125695.html
Copyright © 2011-2022 走看看