Oracle:创建学生表时对于性别的男和女无法正常显示

create table tb_student(

stuNo char(9) primary key,

stuName varchar2(15) not null,

sex char(4) default '男' check(sex='男' or sex='女'),

birthday date,

speciality varchar2(15),

mobile char(11) unique,

address varchar2(50)

);

image.png

image.png

image.png

墨残烛 发布于 2022-1-14 10:18 (编辑于 2022-1-14 10:29)
1min目标场景问卷 立即参与
回答问题
悬赏:0 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
梦似幻亦真Lv3见习互助
发布于2022-1-14 11:58

要存储中文的干嘛用char型,试下varchar2

  • 墨残烛 墨残烛(提问者) 我是设置约束,约束性别内容必须是男或女,但是读取sql的时候男,女是中文,识别不了
    2022-01-14 12:32 
  • 梦似幻亦真 梦似幻亦真 回复 墨残烛(提问者) https://www.cnblogs.com/feiyun8616/p/5885848.html,可以参考下这个,如果不行可以尝试换下帆软的jdbc驱动,最简单的是你存个字母,查询出来后用case when转下汉字
    2022-01-14 13:42 
最佳回答
0
snrtuemcLv8专家互助
发布于2022-1-14 10:22

定义连接那边,编码改默认

image.png

  • 墨残烛 墨残烛(提问者) 我是在cmd中运行的
    2022-01-14 10:25 
  • snrtuemc snrtuemc 回复 墨残烛(提问者) 那就看看你电脑什么格式语言了,也不推荐最直接cmd界面,推荐PL/SQL,sqldeveloper工具连接使用
    2022-01-14 10:26 
  • 墨残烛 墨残烛(提问者) 回复 snrtuemc 代码直接复制过去可以运行,在navicat也可以,就是不能读取sql
    2022-01-14 11:30 
最佳回答
0
杨朝健Lv5中级互助
发布于2022-1-14 10:26

检查下SQL文件的编码

  • 墨残烛 墨残烛(提问者) 新的图片已经上传,sql文件编码是GB2312,数据库的字符集是ZHS16GBK
    2022-01-14 10:30 
  • 墨残烛 墨残烛(提问者) 但是直接将创建的代码复制到命令行是可以的,但是sql读取过来就不行了
    2022-01-14 10:32 
最佳回答
0
CD20160914Lv8专家互助
发布于2022-1-14 13:17

设置成:SIMPLIFIED CHINESE_CHINA.AL32UTF8   看一下。。。还有使用plsql查询看是不是乱码呢

  • 5关注人数
  • 370浏览人数
  • 最后回答于:2022-1-14 13:17
    请选择关闭问题的原因
    确定 取消
    返回顶部