一个应用程序希望我插入字符串作为text encoded using hex values in proper coding.
,编码为Unicode_No_Compression
例如,对于Sześć siedem
,正确的HEX字符串是0053007A0065015B0107002000730069006500640065006D
,Źdźbło
=01790064017A00620142006F
String with no special chars
=0053007400720069006E0067002000770069007400680020006E006F0020007300700065006300690061006C002000630068006100720073
我试着玩MySQL HEX()
/UNHEX()
和dechex()
PHP,但不知道如何进行转换。有什么想法吗?
我猜您实际上是在看UCS-2编码的十六进制版本。因此:
php > echo strtoupper(bin2hex(iconv('UTF-8', 'UCS-2', 'Źdźbło')));
01790064017A00620142006F
试试这个:
$out = implode("",array_map(function($x) {return sprintf("%04X",ord($x));},str_split($in)));
一个衬垫;)