PHP 编码问题,AES解码后居然是ASCII码的中文,请问怎么转成UTF8呢

图片描述

对数据库进行搜索,查询不了,查询结果为空,通过mb_detect_encoding,知道字符串格式为ASCII编码,可能是因为这样子查询不了,怎样把ASCII编码的字符串转化为UTF8的字符串

但是ASCII不是只会有英文字母吗

如图第一行输出的String,为何长度为16

第三行的dump("MySQL"); 的长度为5

阅读 3.5k
2 个回答

是PHP的解密后,(mcrypt_decrypt)解密后不够16位长度的字符串,他会帮你补齐到16位,如果多于16位,少于32,就是32位,如此类推。难怪字符串长度是这个样子,在数据库查询因为字符串的错误,所以查询不到,后来使用了trim,清除两边的空格,就解决问题了。

先用加密解密的方法试试简单的字符串加密解密流程是否正确,如果正确,可能是加密前已经不是utf-8编码了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏