2011-03-11 74 views
2

我有一個奇怪的問題:htmlspecialchars(與ENT_QUOTES)和mysql_real_escape_string函數沒有翻譯單引號i've(和其他一些單詞),所有其他翻譯,這是什麼原因導致?非翻譯單引號

+4

如果是這樣,你可能會遇到一個錯誤,這是不太可能的。發佈一些代碼。 – Lekensteyn 2011-03-11 21:25:09

+0

代碼是什麼?使用htmlspecialchars? – Robik 2011-03-11 21:30:54

+1

數據的來源是什麼?肯定它不是'而不是'? – FatherStorm 2011-03-11 21:33:22

回答

2

這可能是因爲你認爲什麼是正常報價(',或HTML ')實際上是一個花撇號(’,或HTML ’)。這不會被htmlspecialchars(也不是mysql_real_escape_string,因爲它不是MySQL的有效報價)轉換。 htmlentities應該逃避這一點。

+1

請注意,'''在HTML 4和以前的版本中是未知的(參見[HTML 4中的字符實體引用](http://www.w3.org/TR/html4/sgml/entities.html))。它[以XML添加](http://www.w3.org/TR/xml/#sec-predefined-ent)(因此也被稱爲* real * XHTML)和[在HTML 5中](http:// www.w3.org/TR/html5/named-character-references.html#named-character-references) – Gumbo 2011-03-11 21:56:46

+0

@Gumbo哇,有趣!我沒有意識到這一點。 – 2011-03-11 22:03:57