插入中文就显示问号,数据库里是空白,这是为什么啊,怎么解决呢
这是编码格式问题,转换一下文字编码就行了。比如:
已有字符串 String title="转换编码";
则 title=new String(title.getBytes("iso-8859-1"), "UTF-8");
然后存储title就行了
jdbc:mysql://127.0.0.1:3306/yourdb?useUnicode=true&characterEncoding=UTF8″
类似这个,修改下编码字符。
编码不对吧,将jsp的编码改成和数据库一样了再试一下。
如果用的是mysql就在网上查一下如何修改数据库编码就可以了;
如果回答对您有帮助,请采纳
是中文乱码问题。像一楼那样设置jdbc连接URL的编码后,再修改mysql的编码方式统一utf-8.
然后就是设置请求处理的编码方式统一为utf-8.
第一步,jdbc连接编码设置:
jdbc:mysql://localhost:3306/db_name?useUnicode=true&characterEncoding=UTF-8
第二步,mysql数据库编码设置,修改mysql的配置文件my.ini:
[mysql]
default-character-set=utf8
第三步,设置web工程的编码过滤器,SpringMVC框架的话可以如下设置,也可以自己编写编码过滤器web.xml。
<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter
</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>