php - 我在使用 Mysql 编码时遇到了问题

标签 php mysql encoding phpseclib

我正在使用 phpseclib 来加密数据,我的 MySQL 数据库的编码是 utf8-general-ci。 当我加密一个字符串并将其保存到表中时,某些字符出现在“?”中字符。当我想解密它时,这会出错。 我应该使用什么编码来包含所有字符? 请帮忙。

最佳答案

如果您将数据加密为二进制字符串,它就不能再存储在 UTF8 编码的字符串中,因为 some binary values/sequences are just not valid UTF8 .

只需在存储字符串之前对字符串进行 base64 编码(或将列类型更改为二进制类型),事情应该会更好。

关于php - 我在使用 Mysql 编码时遇到了问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18682554/

相关文章:

php - 我可以将整个代码文件夹复制粘贴到 SVN 存储库中吗

php - $_SERVER[REQUEST_METHOD] 是否可操作?

php - while循环和html表

mysql - Ruby - mysql2 驱动程序更改编码/各种 utf-8 问题

string - 检查 unicode 值是否在 Erlang 二进制字符串中?

php - 如何在 MySQL 数据库表列中查找最常见的单词

php - 是否有正确的方法在 Laravel 中对一种形式的不同部分实现部分验证

c# - 将更多表列添加到列表框显示查询

mysql - 使sql字段始终等于另一个表中的计数

grails - 在grails中使用log4j的正确编码编写日志