1

我目前正在使用这个函数来混淆 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连接后是 i。有什么解决方法吗?

谢谢

4

0 回答 0