加密字符串中的字符(PHP / MySQLI)导致字符串终止 - 无法弄清楚如何逃脱它

时间:2014-04-26 08:41:09

标签: php string mysqli escaping

所以我使用PHP / MySQLI从数据库中提取一些信息,严格地说是包含加密文本的行,因此是一些奇怪的字符。以下是我从数据库中提取的加密字符串示例:

5Ø·§—X*–Á»ºNKoÜÌ‹.P÷\úfô<96«Ñf÷çÌ› ¤Í·Ömm}u7^YH""²¤"8ªMFëÄ·zEQºªòÔvþŸÜ_¼#ú—PLRUÜ.à¤'Wω&šÖ]pÇÑ©»\rz±DÐ÷£x6w

当我运行简单的解密函数时,它会在整个字符串被解密之前切断。即使我只是尝试回显上面的字符串,加密字符串中的'"字符之一也会导致它被转义。我尝试了mysqli_real_escape,这使得解密函数提前终止。如果有必要,我可以发布我的加密/解密,但我知道这不是问题所在。我无法弄清楚如何让一串字符如“&#39;和&#34;正确显示并终止我的输出。

我希望这一切都有道理,我试着尽我所能地描述。下一步是实例,但我希望我的问题相当普遍,有人可以指出我正确的方向。非常感谢!

1 个答案:

答案 0 :(得分:-1)

只是一个猜测,因为你没有提供太多的信息:
尝试使用mysql转换您的编码,并确保它与您在html页面上使用的编码相同:

SELECT CONVERT(encrypted_text USING utf8) AS encrypted_text_utf8 FROM table WHERE 1