如果您在MySQL中存储了一个长二进制(longblob)类型的数据,但在网页上输出时出现了乱码,可能是因为您没有正确设置字符集。

以下是一些可能的解决方法:

  1. 在MySQL中使用UTF-8字符集存储数据,并在网页上使用UTF-8字符集输出数据。

在MySQL中,可以使用以下命令将数据库和表的字符集设置为UTF-8:

ALTER DATABASE database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

在网页上,可以在HTML的head标签中添加以下行来指定使用UTF-8字符集:

<meta charset="UTF-8">
  1. 在MySQL中存储数据时,将数据转换为Base64编码,并在网页上输出时将其解码。

在MySQL中,可以使用以下命令将二进制数据转换为Base64编码:

SELECT TO_BASE64(longblob_column) FROM table_name;

在网页上,可以使用以下PHP代码将Base64编码的数据解码:

echo base64_decode($base64_string);
  1. 在MySQL中存储数据时,将数据转换为HEX编码,并在网页上输出时将其解码。

在MySQL中,可以使用以下命令将二进制数据转换为HEX编码:

SELECT HEX(longblob_column) FROM table_name;

在网页上,可以使用以下PHP代码将HEX编码的数据解码:

echo pack("H*", $hex_string);

请注意,使用Base64编码或HEX编码会增加数据的大小。因此,建议只在必要时使用这些方法

mysql 网页输出 longblob 乱码

原文地址: https://www.cveoy.top/t/topic/ddOX 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录