码迷,mamicode.com
首页 > 数据库 > 详细

MySQL 查询语句中自己定义的中文内容在Java Web 中显示为问号

时间:2017-11-22 17:41:54      阅读:247      评论:0      收藏:0      [点我收藏+]

标签:中文   支持   .post   logs   mysql   pos   cas   rac   ase   

 

  Java Web 端做查询时,性别字段存的是数字,1代表男,2代表女,取数据时将性别转为汉字显示在页面,sql语句如下,结果发生了问题

 select a.emp_id,a.emp_name ,case when a.emp_gendar=1 then ‘男‘ when a.emp_gendar=2 then ‘女‘ end as emp_gendar, b.post_name
from  t_employee_info a, t_position_info b
where a.post_id = b.post_id; 
 
性别在页面显示不出来,显示的是问号,预期是显示男或者女,网上查资料发现是因为mysql字符编码的设置不当引起的,mysql默认的字符编码为latin1,不支持中文,必须将数据库编码设置为支持中文的编码,才能正确显示。
 
进入数据库,输入:show variables like ‘character_set_%‘;
发现character_set_server utf8 的值为latin1
 
在mysql的安装目录下找到my.ini文件, 在my.ini文件中找到[client]和[mysqld]字段,在下面均加上default-character-set=utf8,保存并关闭,重启mysql服务。
打开再输入:show variables like ‘character_set_%‘; 得到如下结果
技术分享图片

之后能运行Web程序,性别按照预期显示为男,女。

MySQL 查询语句中自己定义的中文内容在Java Web 中显示为问号

标签:中文   支持   .post   logs   mysql   pos   cas   rac   ase   

原文地址:http://www.cnblogs.com/Latiny/p/7879584.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!