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

如何在MySQL查询及CONCAT()函数中正确使用欧元符号?

在MySQL中使用欧元符号的解决方案

看起来你遇到的问题是用HTML实体&euro在CONCAT里只输出文本,这是因为MySQL不会自动解析HTML实体,得用实际的欧元符号或者对应的Unicode编码来处理。下面分两种场景给你解决方法:

一、基础查询中直接使用欧元符号

有两种可靠的方式:

  • 直接输入欧元符号(€):只要你的数据库、表字段以及客户端连接的字符集是utf8mb4(推荐)或者支持欧元符号的编码(比如latin1),就可以直接在查询里写欧元符号:
    SELECT '€' AS euro_symbol;
    -- 或者查询字段时直接关联
    SELECT amount, '€' AS currency FROM tab1;
    
  • 用Unicode编码生成:如果直接输入符号有问题(比如终端不支持输入),可以用欧元符号的Unicode编码8364,通过CHAR()函数生成:
    SELECT CHAR(8364 USING utf8mb4) AS euro_symbol;
    

二、在CONCAT()函数中使用欧元符号

针对你遇到的CONCAT问题,替换掉HTML实体,用下面两种方法:

  • 直接拼接欧元符号:最直观的方式,直接把&euro换成实际的€:
    SELECT CONCAT(tab1.amount, '€') FROM tab1;
    
  • 用Unicode编码拼接:如果直接输入符号有兼容性问题,用CHAR()函数嵌入到CONCAT里:
    SELECT CONCAT(tab1.amount, CHAR(8364 USING utf8mb4)) FROM tab1;
    

关键注意事项

  • 检查字符集配置:确保你的表字段字符集是utf8mb4,可以用下面的语句查看:
    SHOW CREATE TABLE tab1;
    
    如果不是,需要修改字段或表的字符集:
    ALTER TABLE tab1 MODIFY COLUMN amount VARCHAR(20) CHARACTER SET utf8mb4;
    
  • 客户端连接字符集:连接MySQL时要指定字符集为utf8mb4,比如命令行连接时:
    mysql -u username -p --default-character-set=utf8mb4
    
    或者在连接后执行:
    SET NAMES utf8mb4;
    
    这样才能保证查询结果里的欧元符号正确显示。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 08:00:46