为啥在sql里的汉字在读出数据时却显示问号呢?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥在sql里的汉字在读出数据时却显示问号呢?相关的知识,希望对你有一定的参考价值。
就随便print一个汉字的字符串,出来的都是问号,是sql装的问题吗?遮掩的话应该是可以在某个地方调过来的,请教那位高人指点下!
参考技术A 不是SQL装的有问题,只要在插入汉字的时候在前面加一个大写的N就好了,比如insert a values(N'我是..')
加N代表以Unicode编码储存,这个编码全球通用,所以就不会存在乱码的问题了. 参考技术B 冒号前是标号,也就是标识一个地址的符号。这个地址上存储的指令是nop,也就是一个空操作。
请参考 参考技术C 看看编码,编码应该是不正确! 参考技术D 编码有问题
从程序向SQL数据库输入汉字,但是都变成了问号,求解决方案!
String sqlbb="insert into author(sn,author) values('"+tfl1.getText()+"','"+ tfl9.getText()+"')";
能显示数据库里的汉字,但是不能用汉字查找和添加,应该怎么改?
按UTF-8统一编码。
SQL Server?
String sqlbb="insert into author(sn,author) values(N'"+tfl1.getText()+"',N'"+ tfl9.getText()+"')"; 参考技术A 设置过数据库编码没有?或者在建表的时候声明编码方式?追问
字符集是 uft8,gbk和gb2312也试过
追答IDE或者编码工具的字符集设置了?
追问额~在哪里怎么设置?能说具体点吗?
追答你用的什么数据库?什么编程语言?用的什么IDE?还有就是你说的能显示数据库的汉字,是说可以查询到字段内容是汉字的数据库表?但又不能使用where子句?
追问已解决,不过还是谢谢。就是在定位数据库时加上?characterEncoding=utf-8就可以了
追答mysql的话也可以在my.ini中设置。都有类似的设定。你可以注意一下
本回答被提问者采纳以上是关于为啥在sql里的汉字在读出数据时却显示问号呢?的主要内容,如果未能解决你的问题,请参考以下文章