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`);
  • 相关阅读:
    北京南天软件java工程师面试题
    祝福自己
    致青春——IT之路
    PL/SQL devloper 常用设置
    CENTOS LINUX查询内存大小、频率
    centOS安装openoffice
    echo > 和 echo >>的区别
    sqoop job 增量导入
    sqoop job从创建到执行
    sqoop导入增量数据
  • 原文地址:https://www.cnblogs.com/upcyaya/p/2442996.html
Copyright © 2011-2022 走看看