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

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

  • 相关阅读:
    P2024 [NOI2001]食物链[扩展域并查集]
    poj1733 Parity game[带权并查集or扩展域]
    BZOJ1079 [SCOI2008]着色方案[组合计数DP]
    P1801 黑匣子[对顶堆]
    poj3784 Running Median[对顶堆]
    P1196 [NOI2002]银河英雄传说[带权并查集]
    poj1456 Supermarket[另类的并查集做法]
    P1955 [NOI2015]程序自动分析[离散化+并查集]
    BZOJ1306 [CQOI2009]match循环赛/BZOJ3139 [Hnoi2013]比赛[dfs剪枝+细节题]
    android的模拟器-Genymotion
  • 原文地址:https://www.cnblogs.com/muyun/p/2370267.html
Copyright © 2011-2022 走看看