在我的应用程序中,我将大文本作为post参数发送到服务器。文本类似于以下代码:


  {“ objects”:[{“ type”:“ path”,“ originX”:“ center”,“ originY”:“ center”,“ left”:138,“ top”:250.25,“ width”:184,“嘿
  ght“:254,” fill“:null,” overlayFill“:null,” stroke“:{” source“:” function
  匿名(){\ n \ n var squareWidth = 10,squareDistance =
  2; \ n \ n var patternCanvas =
  fabric.document.createElement('canvas'); \ n
  patternCanvas.width = patternCanvas.height = squareWidth +
  squareDistance; \ n var ctx =
  patternCanvas.getContext('2d'); \ n \ n ctx.fillStyle =
  \“#005E7A \”; \ n ctx.fillRect(0,0,squareWidth,
  squareWidth); \ n \ n返回patternCanvas; \ n
  \ n}“,” repeat“:” repeat“,” offsetX“:0:” offsetY“:0},” strokeWidth“:15,” strokeDashArray“:null,” strokeLineCap“:” round“,” strokeLineJoin“: “ round”,“ strokeMiterLimit”:10,“ scaleX”:1,“ scaleY”:1,“ angle”:0,“ flipX”:false,“ flipY”:false,“ opacity”:1,“ selectable”: true,“ hasControls”:true,“ hasBorders”:true,“ hasRotatingPoint”:true,“ transparentCorners”:true,“ perPixelTargetFind”:false,“ shadow”:null,“ visible”:true,“ clipTo”:null, “ path”:[[“ M”,69.5,0],[“ Q”,69.5,0,70,0],[“ Q”,70.5,0,70.75,0],[“ Q”,71, 0,71.5,....


当您有回车符时。我想将此文本作为Blob插入mysql表。但这并不成功。我认为原因是回车,因为其他没有回车的示例也能很好地工作。

我怎样才能成功地将这种文本插入表格?

顺便说一句,我在数据库会话中使用codeigniter cart类,并尝试将此文本保留为cart item选项。

最佳答案

您必须了解转义的工作原理。如果将某些转义的内容放在这样的字符串中:

s = "Hello\nthere";


...然后结果将包含REAL换行符。变量本身看起来像“ Hello”加上换行符加上“ there”。现在,如果将其移交给某些sql,它将获得换行符,而不是反斜杠加n,这将是告诉sql插入换行符的正确版本。不,相反,您创建了一个带引号内带有换行符的sql字符串。

因此,您必须说“让我们创建一个告诉sql插入换行符的字符串”,并且要做到这一点,您必须告诉语言(无论您使用哪种语言)来创建一个字符串,该字符串使换行符成为字符串。这就是为什么您必须逃脱已经逃脱的东西。有点“告诉鲍勃告诉克莱尔来这里”的事情。

09-10 05:02
查看更多