这个问题说难不难,但如果没经验,要解决还是很费时间的。我就花了一天时间才找到原因。我是用eclipse写XML文件,在写SQL语句

select id, role_name as roleName, note from T_role
        where role_name like '%'+ #{roleName}+'%' and note like '%'+ #{note} + ’%'

才出现这种情况的。一开始看了好久也不明白这里到底怎么错了,还有我输入的是成对的英文的单引号,为什么会出现三个单引号。后来放大了好几倍才发现

'‘' 附近有语法错误

这句话中间的单引号与两边的不一样。我又纳闷了,因为放大后中间的单引号是

上图中这个样子的。我怎么可能打出这个符号?键盘上根本找不到这个符号。后来想到了中英文标点符号是有区别的。于是试着打了中文的单引号,果真是中文的单引号!

我又在eclipse的JAVA文件试着打单引号,结果跟上图一样,看来是eclipse编译器的问题。

单引号有问题,自然而然地双引号呢,我继续探索,结果是这个样子的!:

看来真的是编译器的问题。Windows7系统自带的便笺,牛逼的 mybase 笔记软件都会出现这种情况。而且,没错,这个CSDN的编译器的双引号也有同样的问题。

为什么会有这种情况呢?依我个人之想,是编码系统的问题。有大神知道的也可以指点一下哈。

总结:像这种问题,比较难发现,而且不止一个编译器会出现这种问题。所以只要遇到类似我这篇文章中的问题,那么就应该往中英文标点和全/半角符号的方向想。

 

Logo

助力广东及东莞地区开发者,代码托管、在线学习与竞赛、技术交流与分享、资源共享、职业发展,成为松山湖开发者首选的工作与学习平台

更多推荐