2017-08-05 36 views
0

私は、16進数でエンコードされたデータベースに格納されたコンテンツのセットを持っています。今、私は、次のバック読めるメッセージに変換したい私のコンテンツを変換した後16進数から文字列をutf8に変換するには

16進コード

0052004D0030002E003000300020804A592900204EE37801FF1A003100320033003400350036 30025C3D60C54EAB53D700200043006800690074006300680061007400205E26676576845FEB 4E505427FF01

は 例のように表示する必要があります:

RM0.00 ***天代码:。!123456尽情享受おしゃべり带来的快乐吧

私は以下のようなクエリを使用しようとしているが、バックのutf8文字列への進に変換

SELECT CONVERT(UNHEX(content) USING UTF8) FROM mymsg 

私はまたへの接続を設定しようcharset utf8しかし、それはまだ私のために働いていない。

+0

データベースに文字列をエンコードして挿入する方法はありますか?どのようにデータベースに接続する? – aidinMC

答えて

2

私はhttp://www.mrleong.net/post/114389343529/unicode-hexadecimal-to-utf-8-string-conversion

からこの機能を使用しているし、私もこれを試してみました:

$data = '0052004D0030002E0030003000200053006E00610070006300680061007400204EE37801FF1A00360036003100330037003730025C3D60C54EAB53D700200053006E00610070006300680061007400205E26676576845FEB4E505427FF01'; 
echo iconv('UTF-16BE', 'UTF-8', hex2bin($data)); 

とその出力は同じである。この

function hexToString($hex) { 
return pack('H*', $hex); 
} 

echo mb_convert_encoding(hexToString($data), 'UTF-8', 'Unicode'); 

を使用します。

RM0.00 Snapchat 代码:661377。尽情享受 Snapchat 带来的快乐吧! 

は、PHPからもライトの道を、この記事を読む: http://www.phptherightway.com/#php_and_utf8

これは、PHP、データベース、およびブラウザレベルでUTF-8を使用する方法について説明します。

+0

私は同僚によって尋ねられ、実際にはacs2を使って変換します。あなたのお返事ありがとう – d3no

関連する問題