A. 求注释一小段 sql语句。
你这个代码有点问题,‘M’对应的汉字不是'呒',而应该是口字旁加繁体的无。这个字会被度娘自动转码,所以我截个图:
select基手姿top1letterfrom@twherechr<=[取出汉字]
就可以得到该取出汉字所对应的拼音首字母。
如果上句没有取到值(@@rowcount=0),说明取出的字符比'吖'还要小,也就是说取出的字符不是汉字而是字母、数字或标点。此薯迟时不需要取它的拼音首字母。
B. java 向数据库写入汉字的时候出现乱码
可能原因一:数据库不支持中文,或者是数据库编码格式和java代码编码格式不一致,这种情况需要修改数据库编码格式:
;改完编码后执行
sql>conn/assysdba;
sql>shutdownimmediate;
databaseclosed.
databasedismounted.
oracleinstanceshutdown.
sql>startupmount;
oracleinstancestarted.
fixedsize452044bytes
variablesize109051904bytes
databasebuffers25165824bytes
redobuffers667648bytes
databasemounted.
sql>;
systemaltered.
sql>altersystemsetjob_queue_processes=0;
systemaltered.
sql>altersystemsetaq_tm_processes=0;
systemaltered.
sql>alterdatabaseopen;
databasealtered.
sql>_useUTF-8;
sql>shutdownimmediate;
sql>startup;
可能原因二:java代码生成插入语句的时候,已经发生乱码现象,这种只能是修改项目编码格式或者是在数据获取的时候直接转译代码编码格式来实现了。
C. SQL SERVER 2008中输入汉字乱码,加了过滤器也不管用
用命令语句添加不会出现,但是在页面添加就不行
说明数据库里表的编码是正常的,写入数据的时候出错
那就两种可能
1、检查页面控件给后台传值的时候是不是自动转码了。
2、后台接收数据的变量的格式是不是UTF-8。