我想在我的表中保存一个中文文本数据,这是我的代码;
concat('{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset0 Arial;}}\viewkind4\uc1\pard\fs18','1','\par }')
它应该是一个rtf,但是当我跑步时,这就是发生的事情,
{
tf1ansiansicpg1252deff0deflang1033{fonttbl{f0fnilfcharset0 Arial;}}viewkind4uc1pardfs181par }
它应该是这样的:
{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset0 Arial;}}\viewkind4\uc1\pard\fs181\par }
'\'标记消失了,有谁知道怎么做?
答案 0 :(得分:3)
反斜杠(\
)用作转义字符:它是一个声明,应该以特殊方式处理以下字符。例如,\r
被读作回车符,它可以解释结果开头的换行符。许多反斜杠显然被忽略了,因为它没有任何特殊意义。
使用双反斜杠(\\
),你想要一个文字反斜杠。结果将是输出中的单个反斜杠。它的工作方式是这样的,因为第一个反斜杠是逃避第二个反斜杠,说它应该被特别处理作为文字反斜杠。
答案 1 :(得分:2)
与Jonathan所说的类似,我有这个解决方案:
CONCAT('{\\rtf1\\ansi\\ansicpg1252\\deff0\\deflang1033{\\fonttbl{\\f0\fnil\\fcharset0 Arial;}}\\viewkind4\\uc1\\pard\\fs18','1','\\par }')
将此字符串用作要插入的字符串。