我目前正在使用this function来混淆MySQL中的字段值并保护它免受直接转储。这一切都运行良好,值正确存储,但当我尝试存储多字节字符串时会发生什么?
这是一个例子,让我们尝试编码字符串álex:
<?
$v = xorencode('álex');
// step 1 - encode
echo $v."\n";
// step 2 - decode
echo xorencode($v);
?>
效果很好,我第一次看到一些混淆的字符串,然后我再次看到álex。现在,如果我尝试将其保存在MySQL表中的 VARCHAR 字段中,然后选择它 - 我不再使用utf字符串,而是将其作为 gllex 返回。
注意,MySQL表和字段排序规则为utf8_general_ci,文件为UTF-8,连接后为SET NAMES utf8
。对此有任何解决方法吗?
由于