鍍金池/ 問答/PHP/ PHP 編碼問題,AES解碼后居然是ASCII碼的中文,請問怎么轉(zhuǎn)成UTF8呢

PHP 編碼問題,AES解碼后居然是ASCII碼的中文,請問怎么轉(zhuǎn)成UTF8呢

圖片描述

對數(shù)據(jù)庫進行搜索,查詢不了,查詢結(jié)果為空,通過mb_detect_encoding,知道字符串格式為ASCII編碼,可能是因為這樣子查詢不了,怎樣把ASCII編碼的字符串轉(zhuǎn)化為UTF8的字符串

但是ASCII不是只會有英文字母嗎

如圖第一行輸出的String,為何長度為16

第三行的dump("MySQL"); 的長度為5

回答
編輯回答
哚蕾咪

先用加密解密的方法試試簡單的字符串加密解密流程是否正確,如果正確,可能是加密前已經(jīng)不是utf-8編碼了

2017年10月23日 08:48
編輯回答
空痕

是PHP的解密后,(mcrypt_decrypt)解密后不夠16位長度的字符串,他會幫你補齊到16位,如果多于16位,少于32,就是32位,如此類推。難怪字符串長度是這個樣子,在數(shù)據(jù)庫查詢因為字符串的錯誤,所以查詢不到,后來使用了trim,清除兩邊的空格,就解決問題了。

2017年10月28日 03:48