为什么ColdFusion会改变查询结果中的值?

Eri*_*air 1 string coldfusion select cfquery

这是一个我以前从未注意过的奇怪的事情.

我在ColdFusion 8中针对iSeries/DB2数据库运行SELECT查询.

这是最简单形式的查询:

<cfquery name="qMyData" datasource="#APPLICATION.DataSource#">
    SELECT  'XXX  111'
    FROM    MYLIB.MYTABLE
</cfquery>
Run Code Online (Sandbox Code Playgroud)

选择的值是XXX 111(两个字符串之间的两个空格).查询返回的值是XXX 111(它删除第二个空格):

<cfdump var="#qMyData#" /> 
Run Code Online (Sandbox Code Playgroud)

返回以下查询结果:

<TABLE class=cfdump_query>
<TBODY>
<TR>
<TH style="CURSOR: hand" class=query title="click to collapse" onclick=cfdump_toggleTable(this); colSpan=5>query</TH></TR>
<TR bgColor=#eeaaaa>
<TD style="CURSOR: hand" class=query title="click to collapse" onclick=cfdump_toggleRow_qry(this);>&nbsp;</TD>
<TD class=query>00001</TD>
<TR>
<TD style="CURSOR: hand" class=query title="click to collapse" onclick=cfdump_toggleRow_qry(this);>1</TD>
<TD vAlign=top>XXX 111 </TD>
Run Code Online (Sandbox Code Playgroud)

为什么ColdFusion会移除第二个空间?有没有解决方法来确保我获得我正在尝试检索的EXACT值?

Bla*_*ick 7

ColdFusion不是删除空格,而是删除浏览器,或者更直接地删除HTML.

如果输出像@Tomalak所说的值,或者类似的东西:

<cfoutput query="qMyData">
#replace(qMyData.myColumn," ","&nbsp;","all")#
</cfoutput>
Run Code Online (Sandbox Code Playgroud)

你会看到空白就在那里.

看看这个:http://www-sul.stanford.edu/tools/tutorials/html2.0/whitespace.html

您应该用不间断的空格替换您的空格以避免崩溃.

  • 我不确定,但<pre>标签不会保留空白吗? (3认同)