最近遇到一个头疼的问题,从xml读出来的数据,直接当做查询条件查询的时候,总是查不到对应的数据,明明数据库中有对应的数据,也试着将读出来的数据跟数据库中的数据放到compare工具中比较,看起来没差。但是打印两者的长度,却惊人的发现不一致。
最后将两者不同字符的地方打印出来发现textarea换行处莫名多了一个字符,十六进制是0x0d,一个\r!!原来textarea中的换行是\r\n(\r换行 相当于回车,\n新行)
直接当做查询条件肯定是不行的,这里我用go先把string转换成byte数组,然后替换中间的0x0d
b := []byte(str)
c := bytes.Replace(b, []byte{0x0d}, []byte{}, -1)
str = string(c)