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`);
  • 相关阅读:
    Oracle SQL语句大全(一)
    数据查询(3)-复杂查询(芮)
    数据查询(2)-高级查询(芮)
    数据查询(1)-简单查询(芮)
    T-SQL(5)-操作数据行(芮)
    T-SQL(4)-功能函数(芮)
    T-SQL(3)-批处理(芮)
    T-SQL(2)-逻辑控制(芮)
    T-SQL(1)-变量(芮)
    如何设计数据库(2)?(芮)
  • 原文地址:https://www.cnblogs.com/upcyaya/p/2442996.html
Copyright © 2011-2022 走看看