Bu cevapların hiçbiri benim için işe yaramadı. UTF8'e dönüştürürken, kodlayıcı bir bayt kümesiyle karşılaştığında UTF8'e dönüştürülemez? veri kaybına yol açan ikame. UTF16 kullanmanız gerekir:
SELECT
blobfield,
CONVERT(blobfield USING utf16),
CONVERT(CONVERT(blobfield USING utf16), BINARY),
CAST(blobfield AS CHAR(10000) CHARACTER SET utf16),
CAST(CAST(blobfield AS CHAR(10000) CHARACTER SET utf16) AS BINARY)
İkili değerleri MySQL Workbench'te inceleyebilirsiniz. Alanı sağ tıklayın -> Görüntüleyicide Değer Aç-> İkili. İKİLİ'ye geri dönüştürüldüğünde, ikili değerler orijinal ile aynı olmalıdır.
Alternatif olarak, sadece bu amaçla yapılmış taban-64'ü kullanabilirsiniz:
SELECT
blobfield,
TO_BASE64(blobfield),
FROM_BASE64(TO_BASE64(blobfield))
SELECT CONVERT(column USING utf8) FROM table;