|
|
气势凌人的跑步鞋 · 从 URL 放置 Blob (REST ...· 2 月前 · |
|
|
奔放的萝卜 · GitHub - ...· 10 月前 · |
|
|
含蓄的眼镜 · 汽车内饰设计工程师 - ...· 11 月前 · |
|
|
淡定的冰淇淋 · 哈佛燕京学社副社长李若虹访问吉林大学-国际合 ...· 1 年前 · |
|
|
深情的针织衫 · 如何在Python中获取JSON文件中所有整 ...· 2 年前 · |
|
|
谦逊的水煮肉 · 我真的不是气运之子_漫画最全最新章节免费阅读 ...· 2 年前 · |
我有很多记录,其中文本存储在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
|
|
含蓄的眼镜 · 汽车内饰设计工程师 - 上海交大教育集团智能信息技术研究院 11 月前 |