字符串数组赋值的出现非法字符的有关问题
字符串数组赋值的出现非法字符的问题
一个二维数组从数据库里面取数据,将取出来的数据作为xml的node内容,软件运行后报错,提示非法字符串,调试后发现数组获取的字符串数据带有非法字符串'#$E1',但是这个非法字符串是出现在数据字符串的后面,例如:二维数组DBS[1..5,1..10]of string,其中DBS[2][3]调试的时候得到的数据是:DBS[2][3]:='运行'#$E1,后面多出来了非法字符,保存为xml数据时就会报错。
------解决方案--------------------
数据库中本身有没有这个#$e1,如果没有得看看你是如何读取数据到string数组中的代码了
------解决方案--------------------
如果都是这个字符,那么可以在写入数组前先换掉它。
------解决方案--------------------
有点像XML字符集设置问题。
------解决方案--------------------
1.判断到底为什么会有这个奇怪的字符串。
若数据库里没有,那为什么后来就有了呢?
若数据库里本身就有,那为什么它有呢?合理吗?不合理就从头要求不要有这个字符串。
是不是因为编码不同造成的?那就设法解决编码问题。
2.不追究源头,先能用再说
每次取得的数据,都用StrUtils.ReplaceStr,把那个奇怪的字符串replace掉。
------解决方案--------------------
应该是空格造成的,取数据的时候Trim。
一个二维数组从数据库里面取数据,将取出来的数据作为xml的node内容,软件运行后报错,提示非法字符串,调试后发现数组获取的字符串数据带有非法字符串'#$E1',但是这个非法字符串是出现在数据字符串的后面,例如:二维数组DBS[1..5,1..10]of string,其中DBS[2][3]调试的时候得到的数据是:DBS[2][3]:='运行'#$E1,后面多出来了非法字符,保存为xml数据时就会报错。
二维数组
xml
------解决方案--------------------
数据库中本身有没有这个#$e1,如果没有得看看你是如何读取数据到string数组中的代码了
------解决方案--------------------
如果都是这个字符,那么可以在写入数组前先换掉它。
------解决方案--------------------
有点像XML字符集设置问题。
------解决方案--------------------
1.判断到底为什么会有这个奇怪的字符串。
若数据库里没有,那为什么后来就有了呢?
若数据库里本身就有,那为什么它有呢?合理吗?不合理就从头要求不要有这个字符串。
是不是因为编码不同造成的?那就设法解决编码问题。
2.不追究源头,先能用再说
每次取得的数据,都用StrUtils.ReplaceStr,把那个奇怪的字符串replace掉。
------解决方案--------------------
应该是空格造成的,取数据的时候Trim。