zoukankan      html  css  js  c++  java
  • MySQL+Java使用心得(1)

    今天做毕设,使用的是MySQL数据库,遇到了乱码问题,自己通过查资料解决了,现在将自己的学习成果记录在这里。

    1.首先网页使用utf8编码

    2.数据库字符集要要用utf8这样可以统一,因为如果二者不统一,就会乱码

    3.其次,post默认传递参数是按照iso-8859-1编码,所以一定要编写字符处理函数

      logname = request.getParameter("logname");

      logname = handleString(logname);

      public String handleString(String s){

      try{

           byte bb[] = s.getBytes("iso-8859-1");

           s = new String(bb,"utf-8");

      }catch(Exception ee){}

        return s;

      }

    4.即使这样,库里面的内容可以正确写入,但是读出来的时候却是乱码,处理方法如下:

      String uri = "jdbc:mysql://localhost/MakeFriend?useUnicode=true&characterEncoding=utf-8";

      在连接库的时候加上额外的参数

    5.还有,mysql控制台默认不显示汉字,所以,即使库里的内容正确,也会显示乱码,

    处理方法如下:

    在mysql的目录下,有个my.ini的文件,打开将default-character-set=latin1改为

    default-character-set=gbk 注意:有两处需要改动。改动完成后,重启mysql服务,即可解决问题

    6.在数据库中建表的时候可能会出现不允许在建表时添加外键的情况,处理方法如下:

    例如我要建个表table <curriculum>,主键为classId,外键为三个:teacherId,majorId,gradeId分别参考于<teacer>表、<major>表、<grade>表

    操作步骤为:

    create table curriculum

    (classId varchar(10) primary key,

    className varchar(20) 

    teacherid varchar(10),

    majorId varchar(10),

    gradeId varchar(10),

    );

    alter table curriculum
    add constraint `fk_teacherId` foreign key (`teacherId`) references  teacher(`teacherId`);
     
    alter table curriculum
    add constraint `fk_gradeId` foreign key (`gradeId`) references  grade(`gradeId`);
     
    alter table curriculum
    add constraint `fk_majorId` foreign key (`majorId`) references major(`majorId`);
  • 相关阅读:
    CF 461B Appleman and Tree
    POJ 1821 Fence
    NOIP 2012 开车旅行
    CF 494B Obsessive String
    BZOJ2337 XOR和路径
    CF 24D Broken robot
    POJ 1952 BUY LOW, BUY LOWER
    SPOJ NAPTIME Naptime
    POJ 3585
    CF 453B Little Pony and Harmony Chest
  • 原文地址:https://www.cnblogs.com/upcyaya/p/2442996.html
Copyright © 2011-2022 走看看