php上传一个中文名字的图片能显示出来也能存进数据库但数据库中名字是问号,不知怎么改是好麻烦大家了!

php上传一个中文名字的图片能显示出来也能存进数据库但数据库中名字是问号,不知怎么改是好麻烦大家了!,第1张

如题,看你考虑的的也挺全面的嘛,但其实没那么复杂,问题的关键在于,你要把保存名称的这个字段字符集设置为gbk_general_ci或者utf-8或者gbk_chinese_ci

//content=new String(contentgetBytes("ISO8859_1"), "GBK");

"GBK"换成和你数据库一样的编码,

在bean里面的

byte[] temp_t=temp_pgetBytes("ISO8859-1");

String temp=new String(temp_t);

fvalue=getStr(fvalue);

在bean里是没必要转换的,如果你的temp_p不是iso8859-1(tomcat的默认编码),将会造成fvalue是乱码

分三种情况:

一种是你在页面显示正常的数据,但是数据库中是乱发

你可以试试在数据库中输入 setnames gbk; 然后查看(是gbk还是utf8还是什么别的自己试)

另外一种情况就是你本身页面上显示出来的数据就是乱码

这样的话你可以把工程编码格式、页面编码格式、数据库编码格式统一设定为一种,应该能解决

还有一种情况我遇到过,就是你本身数据库的版本就有问题,卸载了重新安装一个好的版本吧

基本上就这了,住好运

这个问题一般和生僻字没有关系,应该是你本地数据库的编码格式有问题,出现?号说明你存进去的数据是乱码

我在我的电脑上把那个字插入到表中,

然后执行查询语句

并没有出现乱码,你检查下你的数据库的编码格式,使用这个sql:

show  variables like '%char%',我电脑上执行的结果如下,你可以比对一下

如有疑问,请联系我

这是中文乱码的问题

这要根据你中文传值的情况,进行判断,参考

>

首先你要搞清楚,插入到数据库的字符是乱码,如果是,则需要在插入数据库之前,进行字符编码转换。如果是通过WEB程序插入,则需要在WEB层设置字符格式和转换。如果数据库中不是乱码,在查询显示的时候是乱码,则需要跟踪,看信息在哪里交互的时候出现了乱码,设置转换即可。

比如,WEB应用,在JSP 里面 设置 <%@ page language="java" import="javautil" pageEncoding="GBK"%>

以上就是关于php上传一个中文名字的图片能显示出来也能存进数据库但数据库中名字是问号,不知怎么改是好麻烦大家了!全部的内容,包括:php上传一个中文名字的图片能显示出来也能存进数据库但数据库中名字是问号,不知怎么改是好麻烦大家了!、数据库出现问号、struts连接mysql问题 : 为什么我登陆的拥护昵称中文,存到数据库里就变成了几个问号怎么解决啊等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10147911.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存