У меня есть таблица базы данных:
DROP TABLE translation_en_lt;
CREATE TABLE translation_en_lt (
id INTEGER,
lt_translation WIDEMEMO BLOBBlockSize 102400 BLOBCompressionAlgorithm ZLIB BLOBCompressionMode 9
);
, которая была сгенерирована с помощью AbsManager (менеджер баз данных Absolute, Delphi).Это кажется устаревшим, однако, и синтаксис недопустим для текущего MySQL.Тогда у меня есть эта запись данных:
INSERT INTO translation_en_lt (lt_translation) values (MimeToBin('cABhAHMAaQBzAGw='));
Значение для этой строки, как правильно отображается в AbsManager, составляет pasislinkti
.Однако base64_decode('cABhAHMAaQBzAGw=')
возвращает p�a�s�i�s�l
[base64_encode('pasislinkti')
возвращает cGFzaXNsaW5rdGk=
].
Как мне получить 'pasislinkti' из MimeToBin('cABhAHMAaQBzAGw=')
?Имеет ли это какое-либо отношение к кодировке, zlib (WIDEMEMO BLOBBlockSize 102400 BLOBCompressionAlgorithm ZLIB BLOBCompressionMode 9
)?
Я получил комментарий:
14: 24 VoVo64: guy: выглядит так, как будто закодировано base64данные на самом деле UCS-2 с прямым порядком байтов.декодирование cABhAHMAaQBzAGw = в HEX приводит к 70 00 61 00 73 00 69 00 73 00 6c
Но я уже пробовал iconv('UTF-16', 'UTF-8', base64_decode('cABhAHMAaQBzAGw='))
, что привело к:
Notice: iconv(): Detected an incomplete multibyte character in input string in /var/www/ssl/pp.php on line 2 pasis
У меня естьтакже пробовал: mb_convert_encoding($u, 'UCS-2LE', 'UTF-8'), mb_convert_encoding($u, 'UCS-2', 'UTF-8')
;ни один не работал.