【问题标题】:php escaping double quotesphp转义双引号
【发布时间】:2012-12-27 10:19:41
【问题描述】:

嗨,我在从字符串中转义双引号时遇到了一些困难。

这是我的情况:
我从数据库中获取结果集,然后我将utf8_encode 应用于它,因为有拉丁/重音字符,它返回字符串,因为它应该在字符串的开头和结尾加上双引号。

如果在数据库中我有:"Olá João" 它返回:Olá João。双引号被忽略

$rs   = mysql_fetch_array($query)
$text = utf8_encode($rs['l_reference']);
echo $text;

我尝试使用addslashes,但没有成功。

【问题讨论】:

  • 请提供数组条目的var_dump$text。还有a hexdump of both these two strings。我不确定这些报价是否真的在数据库中,我必须说。
  • 谢谢@hakre。这是文本 var_dump 的一小部分初始部分: string(705) " O primeiro.... 开头有双引号。但它没有出现在 echo 中

标签: php string escaping double-quotes


【解决方案1】:

我认为这是因为“Olá João”是一个多字节字符串,您必须为此使用不同的解决方法。试试这个mb_addslashes

【讨论】:

  • 嗯,它是一个多字节字符串,因为它不止一个字节。我从不需要对具有多个字节的字符串使用任何解决方法,所以对我来说没有意义。
  • @hakre 谢谢,我只知道多字节是日文编码呵呵
  • 这只是一个小区别:您的意思是多字节(八位字节)编码 - 但不是字符串。多字节字符串不能携带多字节编码的数据。
  • @hakre 谢谢你的信息,我现在正在阅读它
猜你喜欢
  • 1970-01-01
  • 2020-11-26
  • 1970-01-01
  • 2013-07-10
  • 1970-01-01
  • 2013-06-17
  • 2013-08-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多