|
|
从容的生姜 · 使用 Java 列出 Blob - ...· 2 月前 · |
|
|
干练的西装 · 'xxx' object is not ...· 6 月前 · |
|
|
想出国的豆腐 · AES/CBC和AES/ECB加密后的数据大 ...· 1 年前 · |
|
|
睿智的酸菜鱼 · 浙江省人民教育基金会 ...· 1 年前 · |
|
|
大力的牛肉面 · 如何使用fgets逐行读取文件-腾讯云开发者 ...· 1 年前 · |
|
|
安静的茄子 · 报得三春晖_西藏自治区商务厅· 1 年前 · |
我有很多记录,其中文本存储在MySQL的blob中。为了便于处理,我想将数据库中的格式更改为文本...您是否知道如何轻松地进行更改以避免中断数据-我猜需要对其进行适当的编码?
下面是一个使用 UTF-8 编码将blob转换为char(1000)的 a person 示例:
CAST(a.ar_options AS CHAR(10000) CHARACTER SET utf8)
这就是他的答案。关于CAST right here ,你可以读到更多的东西。我希望它能有所帮助。
这是不必要的。只需使用
SELECT CONVERT(column USING utf8) FROM
.....不仅仅是
SELECT column FROM
..。
或者,您可以使用此函数:
DELIMITER $$
CREATE FUNCTION BLOB2TXT (blobfield VARCHAR(255)) RETURNS longtext
DETERMINISTIC
NO SQL
BEGIN
RETURN CAST(blobfield AS CHAR(10000) CHARACTER SET utf8);
DELIMITER ;
你可以很容易地做到这一点。
ALTER TABLE `table_name` CHANGE COLUMN `column_name` `column_name` LONGTEXT NULL DEFAULT NULL ;
上面的查询对我有效。我希望这对你也有帮助。
这些答案对我来说都不起作用。当转换为UTF8时,当编码器遇到一组无法转换为UTF8的字节时,将导致?替换会导致数据丢失。您需要使用UTF16:
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)
您可以在MySQL工作台中检查二进制值。右键单击字段-> Open Value in Viewer-> Binary。当转换回二进制值时,二进制值应该与原始值相同。
或者,您可以只使用base-64,它就是为此目的而制作的:
SELECT
|
|
想出国的豆腐 · AES/CBC和AES/ECB加密后的数据大小_如何在python中使用加密的RSA私钥(AES-256-CBC)签名数据_在Objective C、.net和Android中生成相同的加密字符串AE 1 年前 |
|
|
安静的茄子 · 报得三春晖_西藏自治区商务厅 1 年前 |