我是以
?useUnicode=true&characterEncoding=GBK
这个参数链接mysql在java里向mysql存入比如: ºabcdº
mysql里存的会变为 ?abcd?
也就是mysql无法存入特殊字符 º我如何直接在java里判断字符是否可以正确的存入mysql不会变?号?
就是没有存入mysql之前,就提前在java里判断出ºabcdº是不可用的?

解决方案 »

  1.   

    如果你的java中的字符集和mysql中的一样应该不会出现这样的问题啊.lz是不是mysql的显示问题.在mysql中敲命令:set names gbk;回车,再查询一下看看结果.
      

  2.   

    楼上,在java里完全不能判断某字符存入mysql是否会变?号码?
    不会吧?
    我想是不是把字符根据我mysql的编码encode一下,看看结果是否正确,或者是否包含?号
      

  3.   


    不是现实问题,存在mysql里的确实是个?
      

  4.   

    mysql数据库的字符集要和java中的一致,你可以先用sql往数据库中插入一条带特殊字符的记录,看看结果是什么.如果真的不能存储,那你只能在java中用正则把特殊字符去掉了. 
      

  5.   


    我所有插入都先往mysql里insert一条"试一试"?
    怎么用正则取出特殊字符?目前的情况是很多特殊字符是可以使用的,º 这个不行
      

  6.   

    phpmyadmin里插入会自动转变为 º
      

  7.   

    替换一下就可以了....
    String str = "jºava";
    str = str.replaceAll("º", "s");
    System.out.println(str);
    ...
      

  8.   

    我过去也遇到过这样的问题,解决方法写在这里了,
    http://blog.csdn.net/rascalboy520/archive/2008/06/30/2597623.aspx
      

  9.   

    编码的问题啊  在重新配置一下mysql的编码  就是在安装mysql的时候那些一步步的配置, 其中有一步就是配置编码的,把那步重新配置一下 ,
      

  10.   

    我的目的不是让数据库可以保存º 符号!!!!!!!!!!!!!!!!
    而是要java判断出GBK字符集会使º符号变为?号!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!不要再说修改mysql字符集了!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    不要再说修改mysql字符集了!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    不要再说修改mysql字符集了!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    不要再说修改mysql字符集了!!!!!!!!!!!!!!!!!!!!!!!!!!!!
      

  11.   

    我要能修改mysql编码我就不会来java版问了
    真奇怪我明明在java版问的,怎么一个个都如此清楚mysql。
    请看下问题再回答啊!!!
      

  12.   

    我测了下 把utf-8编码的 "º" 转成gbk编码后确实是"?"我想问楼主你是要在java代码里判断一个字符串"ºabcdº" 里是否有"º"符号吗?-------------------------------------
    我如何直接在java里判断字符是否可以正确的存入mysql不会变?号? 
    就是没有存入mysql之前,就提前在java里判断出ºabcdº是不可用的?

    --------------------------------------
      

  13.   


    是啊,在java里判断一个字串是否包含有会被转为?的字符,不仅是º
      

  14.   

    那你这样做试试:把源字符串保存 String str1 = "ºabcdº";
    然后把str1转为gbk编码的字符串
    String str2 = new String(str1.getBytes(),"gbk");然后比较str1,str2的值是否想等  str1.equals(str2);若相等 则说明str1转为gbk编码时候不会变,这样他就是可以存入数据库了,反之应该就是不能存吧!