zoukankan      html  css  js  c++  java
  • jsp与mysql的汉字乱码SQL中无法使用汉字的问题

    最近在使用java 和 mysql的开发,遇到要在 mysql数据库中使用

    selec * from tableName where like table_title LIKE '%你好%';

    假设表tableName是

    id  txt

    1   你好abc 

    当我使用上面的sql语句时,并没有返回任何结果。而当我把  "你好"   换成  a,就会返回第一行数据。这很让我纳闷。

    首先说明,我的 所有IDE(Myeclipase),编辑器(Editplus)都是默认utf-8的,文件(jsp,html)中的编码也都是设置为utf-8,mysql服务器是utf-8,新建数据库 的数据库也是 utf-8(general_ci那个。但是依然出现汉字的问题,我搞不懂。

    然后我上网搜索,大多都是php+mysql之类的资料,有jsp的多半也是这么几种情况:

    1,mysql安装的时候没有选utf-8 

    2,新建数据库的时候没有选择utf-8

    3,页面jsp或html没有选择utf-8

    4,如果是php开发 ,那么就是在选择数据库语句   mysql_select_db("dbname", $con);

        后,少了一条语句:                                    mysql_query("set names utf8;"); 

    看到第4条,我就想着,jsp是不是也有这么一条语句,但是搜索了很久,貌似没有。总之,我感觉不是页面和数据库的编码问题,而是  页面向mysql的服务器发送数据的时候,数据的编码不正确的问题(数据库识别英文字符,却不支持汉字)。

    最后,我突然想到要百度 mysql url ,果然,我的url有问题。

    正规的   mysql  的  url  是这样的:

    url= jdbc:mysql://localhost:3306/test?user=root&password=&useUnicode=true&characterEncoding=gbk  

    这里面有很多参数,其中 解决最后问题的就是   useUnicode  和  characterEncoding 这两个参数。

    其中关于 url 的详细用法参见: http://developer.51cto.com/art/200907/138846.htm

    唉,还是希望大家手边有本正规的教程,这样就不会出现这种很细小但是却很严重的错误。 

  • 相关阅读:
    java-selenium三种等待方式
    java-selenium八种元素定位方式
    java-selenium浏览器常用操作命令
    ELK日志分析平台搭建全过程
    详解Oracle架构、原理、进程
    Oracle建立约束、删除约束
    OGG基础知识整理
    由浅入深解读Redis高级能力及性能调优
    《收获,不止Oracle》读书笔记
    转:一条sql语句在mysql中是如何执行的
  • 原文地址:https://www.cnblogs.com/muyun/p/2370267.html
Copyright © 2011-2022 走看看