插入的SQL语句中有中文值时中文变问号是怎么回事?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了插入的SQL语句中有中文值时中文变问号是怎么回事?相关的知识,希望对你有一定的参考价值。

一条insert语句在plsql中执行写入数据库的操作时,提交后中文正常显示,但在代码中执行后中文就全部成了问号,怎么回事?

数据库字段与你的代码中的中文字节格式不符,你可以试试将插入的中文先转成GBK或者UTF-8试试 参考技术A =N'宿舍电费' 直接前面加N就可以了

中文变问号问题

   在学习ssh框架时页面在传输数据时中文变问号,他在增加修改操作时传入数据库之前还是中文,但是在页面显示就是问号这个问题弄了一周,闲来的时候我就会弄他,

百度浏览了很多,我认为的原因其一应该是浏览器默认请求的方式是gb2312我用的utf-8,但是我打开浏览器的控制台看请求方式是utf-8很无语,就在慢慢的修改中改成了,顺便总结了下这个问题。

https://q.cnblogs.com/q/99323/

这个是没有修改前的源码

jsp页面部分:

重点 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

重点<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
request.getParameter("form1");
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

xml文件配置

<property name="jdbcUrl" value="jdbc:mysql:///ssh8?characterEncoding=UTF-8" />

数据库utf-8

 

好了已下乱码总结 编码一至即可

页面部分

 

参数过滤struts 文件

 

application文件

 

数据库中设置:

一:设置数据库程序默认编码

 

不建议改my.ini

以上是关于插入的SQL语句中有中文值时中文变问号是怎么回事?的主要内容,如果未能解决你的问题,请参考以下文章

向MySql数据库中插入一条数据后性别变成问号是怎么回事

中文变问号问题

部分中文插入mysql数据库变成问号,怎么回事

为啥我的VS2010数据库输入的中文显示问号是怎么回事啊

在SQLServer中使用SQL语句插入数据出现乱码或问号的解决方法

sqlserver插入语句报“将截断字符串或二进制数据”怎么解决,怎么回事?