You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL 8.0.31执行SELECT CHAR语句返回BLOB而非预期字符求助

问题解决:MySQL CHAR()函数返回BLOB而非预期字符

原因分析

你执行SELECT CHAR(128,129,130,131,132,133,134,135,136,137);返回BLOB,是因为当前默认字符集是utf8mb4——utf8mb4属于Unicode字符集,128-137这些数值并不是有效的Unicode编码点,MySQL无法将其解析为字符串,所以返回BLOB类型。而《Learning SQL》里的示例是基于Latin1字符集编写的,在Latin1中,这些数值正好对应你预期的Çüéâäàåçêë。

解决办法

方法1:显式指定CHAR()函数使用latin1字符集

执行以下语句即可得到预期结果:

SELECT CHAR(128,129,130,131,132,133,134,135,136,137 USING latin1);

方法2:临时修改会话字符集为latin1

先执行:

SET NAMES latin1;

再执行原查询语句:

SELECT CHAR(128,129,130,131,132,133,134,135,136,137);

注意:方法2仅对当前会话生效,不会改变全局或数据库的默认字符集,适合临时测试使用。

内容的提问来源于stack exchange,提问作者AK Sanglay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 03:45:42