Php 无法获取“文件”+&引用;标志显示
我在mysql数据库中有一个值:“a+”是一本杂志的名称。 我可以在数据库中看到它,但是我无法通过php显示它。 当我获取sql数据时,它会输出 “A” 我尝试了utfencode()utfdecode()htmlentities()。。。无济于事。我没能诊断出这个问题。 如果有必要,我将通过ajax(jquery load()函数)获取这些数据 更新:Php 无法获取“文件”+&引用;标志显示,php,special-characters,Php,Special Characters,我在mysql数据库中有一个值:“a+”是一本杂志的名称。 我可以在数据库中看到它,但是我无法通过php显示它。 当我获取sql数据时,它会输出 “A” 我尝试了utfencode()utfdecode()htmlentities()。。。无济于事。我没能诊断出这个问题。 如果有必要,我将通过ajax(jquery load()函数)获取这些数据 更新: 结果表明,在通过正则表达式解析数据时,+符号被删除。似乎也找不到解决办法。preg_quote()没有用处。jquery可能将其解释为url编
结果表明,在通过正则表达式解析数据时,+符号被删除。似乎也找不到解决办法。preg_quote()没有用处。jquery可能将其解释为url编码的“+”符号,可以解释为空格。发布一些代码,我相信有人会给你一个完整的答案。你可以在\之前添加转义字符,看看它是如何工作的。如果不使用转换字段数据,则当数据声明为以下内容时,
+
字符将被解释为空格:
这是默认的内容类型。使用此内容类型提交的表格必须按以下方式编码:
+
”,然后按照[RFC1738]第2.2节所述对保留字符进行转义:非字母数字字符替换为“%HH
”,一个百分号和两个表示字符ASCII码的十六进制数字。换行符表示为“CR LF”对(即“%0D%0A
”)=
”分隔,名称/值对之间用“&
”分隔+
字符,请使用encodeURIComponent
函数:
"http://www.example.com/?q=" + encodeURIComponent("A+")
您是否将其作为一个javascript参数传递而不使用它?好吧,因为使其工作的唯一方法是 echo urlencode("this is the A+ text"); echo urlencode(“这是A+文本”);
它是有效的,并且似乎不会破坏文本的其余部分,但我不理解这背后的原理。无论如何,感谢所有试图提供帮助的人。如果您监视Firebug中的响应数据,那么“+”会通过吗?这将缩小问题的范围。不,在firebug中,+也不会显示出来。我不知道该发布什么代码。基本上,只需在php中执行echo“A+”;在php中,我可以通过php看到+if i urlencode()的提示。但是我不想系统地对人类使用的内容进行URL编码。根据您的建议,我尝试通过在php输出字符串中硬编码直接输出“A+”。问题依然存在。但是,这也无济于事。只有“urlencode()”使+出现!现在,这是一个问题:我不想对人类可读的文本进行URL编码。我迷路了…按照你的建议,我试着直接输出“A+”,通过在php输出字符串中硬编码它。问题依然存在。但是,这也无济于事。只有“urlencode()”使+出现!现在,这是一个问题:我不想对人类可读的文本进行URL编码。我迷路了…哪个PHP输出字符串?在ajax调用中生成字符串的那个?或者直接在一个空的PHP脚本页面上?一个简单的字符串,如:echo“publisher name:a+
1999年发布”@jonstjohn:我几乎可以保证这就是问题所在,特别是考虑到pixeline的urlencode()回复。你的意思是,我包含“+”符号的冗长文本通过GET请求发回吗?听起来很奇怪。我以为有255个字符的限制。不,我没有通过。它位于获取的html字符串中。