попытка декодирования данных (экспорт Abs в MySQL)

У меня есть таблица базы данных:

DROP TABLE translation_en_lt; CREATE TABLE translation_en_lt ( id INTEGER, lt_translation WIDEMEMO BLOBBlockSize 102400 BLOBCompressionAlgorithm ZLIB BLOBCompressionMode 9 ); 

Что было создано с помощью AbsManager (Абсолютный менеджер баз данных, 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: парень: похоже, что кодированные base64 данные на самом деле UCS-2 немного endian. декодирование 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') ; ничего не получилось.

Это строки Base64:

 cABhAHMAaQBzAGw= -> pasisl cGFzaXNsaW5rdGk= -> pasislinkti 

Я думаю, что ваши данные усекаются где-то. Вы должны искать функцию MimeToText () в вашей системе базы данных. Я попытался выгрузить данные в CSV и загрузить в MySQL с помощью LOAD DATA INFILE . Вероятно, вам придется переписать схемы таблиц вручную. BLOBBlockSize …. похоже, предназначен для сжатия этих данных. Ваша новая таблица займет немного больше места, или вы сможете изучить функцию MySQL Compress ().

Что-то вроде этого должно работать:

 CREATE TABLE translation_en_lt ( id INTEGER, lt_translation MEDIUMTEXT, PRIMARY KEY (id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8