finereport取数是正常的,往数据库里写写到数据库就是问号,再读取出来就是

各位大神,我是Linux服务器,mysql 数据库,finereport9.0取数是正常的,往数据库里写写到数据库就是问号,再读取出来还是问号,请问在哪设置一下才可以

服务器编码是utf-8,数据库编码是utf-8,finereport系统设置那里也让我改成了utf-8,请问还有哪里需要改的

FineReport 七月流火 发布于 2018-12-16 12:18 (编辑于 2018-12-16 12:22)
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
城落满芯Lv6中级互助
发布于2018-12-16 12:55(编辑于 2018-12-16 13:25)

Tomcat 版本 以及 Tomcat 配置中的 转码问题


百度 搜的“Tomcat 编码设置”

利用request.setCharacterEncoding("UTF-8");来设置Tomcat接收请求的编码格式,只对POST方式提交的数据有效,对GET方式提交的数据无效!

要设置GET的编码,可以修改server.xml文件中,相应的端口的Connector的属性:URIEncoding="UTF-8",这样,GET方式提交的数据才会被正确解码。

  <Connector port="8080" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" URIEncoding="UTF-8" />

 

 

tomcat8以后默认编码格式是utf-8;7之前的都是iso8859-1

 

如果默认情况下,tomcat使用的的编码方式:iso8859-1

 

修改tomcat下的conf/server.xml文件

找到如下代码:    
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
这段代码规定了Tomcat监听HTTP请求的端口号等信息。

可以在这里添加一个属性:URIEncoding,将该属性值设置为UTF-8,即可让Tomcat(默认ISO-8859-1编码)以UTF-8的编码处理get请求。

修改完成后:

<Connector port="8080"  protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" />


最佳回答
0
JBadminLv3初级互助
发布于2018-12-17 08:07(编辑于 2018-12-17 08:09)

查看下mysql  的所有字符设置情况,我怀疑你的mysql 字符设置有问题 ;

show variables like 'character_set%';  看看下面的几个字符集是不是对 的

QQ图片20181217080906.png

最佳回答
0
孤陌Lv6资深互助
发布于2018-12-17 08:11

怀疑是中文包问题, 你系统没有安装相应的中文包吧

  • 5关注人数
  • 579浏览人数
  • 最后回答于:2018-12-17 08:11
    请选择关闭问题的原因
    确定 取消
    返回顶部