zoukankan      html  css  js  c++  java
  • 解决Java连接MySQL存储过程返回参数值为乱码问题

    先说MySQL的字符集问题。Windows下可通过修改my.ini内的

    [mysql]  

     default-character-set=utf8    //客户端的默认字符集

    在MySQL客户端工具中输入SHOW VARIABLES LIKE 'character%'; 显示如下

    这样执行读取信息返回中文为乱码,解决办法是,在连接数据库之后,读取数据之前,先执行一项查询 SET NAMES 'utf8'; 即可显示正常。

    最简单的完美修改方法,修改mysql的my.cnf文件中的字符集键值(注意配置的字段细节): 

    1、在[client]字段里加入default-character-set=utf8,如下: 

    [client] 
    port = 3306 
    socket = /var/lib/mysql/mysql.sock 
    default-character-set=utf8 

    2、在[mysqld]字段里加入character-set-server=utf8,如下: 

    [mysqld] 
    port = 3306 
    socket = /var/lib/mysql/mysql.sock 
    character-set-server=utf8 

    3、在[mysql]字段里加入default-character-set=utf8,如下: 

    [mysql] 
    no-auto-rehash 
    default-character-set=utf8 

    修改完成后,service mysql restart重启mysql服务就生效。注意:[mysqld]字段与[mysql]字段是有区别的。这点在网上没人反馈过。 

    使用SHOW VARIABLES LIKE ‘character%’;查看,发现数据库编码全已改成utf8。 

    +--------------------------+----------------------------+ 
    | Variable_name | Value | 
    +--------------------------+----------------------------+ 
    | character_set_client | utf8 | 
    | character_set_connection | utf8 | 
    | character_set_database | utf8 | 
    | character_set_filesystem | binary | 
    | character_set_results | utf8 | 
    | character_set_server | utf8 | 
    | character_set_system | utf8 | 
    | character_sets_dir | /usr/share/mysql/charsets/ | 
    +--------------------------+----------------------------+ 


    4、如果上面的都修改了还乱码,那剩下问题就一定在connection连接层上。解决方法是在发送查询前执行一下下面这句(直接写在SQL文件的最前面): 
    SET NAMES ‘utf8′; 

    它相当于下面的三句指令: 

    SET character_set_client = utf8; 
    SET character_set_results = utf8; 
    SET character_set_connection = utf8; 


    网上很多其他方法不能彻底解决这个问题,这个可以完美解决! 

  • 相关阅读:
    简例 一次执行多条mysql insert语句
    javax/javaee-api/ Maven依赖
    关闭页面前提示或保存数据
    SpringMVC的controller方法上若需要参数 如User
    方正飞越 A600硬改BIOS激活win7的工具与方法。
    Win7下IE11点击无反应的解决方法
    WinXP局域网共享设置
    使用VHD,让Win XP和 Win2003 运行在内存中
    dd if=/dev/zero of=的含义是什么?Linux 下的dd命令使用详解
    win8.1点击“更改电脑设置”无反应(闪退)
  • 原文地址:https://www.cnblogs.com/Warmsunshine/p/4615917.html
Copyright © 2011-2022 走看看