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

Chart.js提示框(Tooltip)韩文乱码问题求助

解决Chart.js提示框(Tooltip)韩文乱码问题

针对你遇到的.NET Core MVC页面中Chart.js提示框韩文乱码问题,尝试以下几个排查和解决步骤:

  • 确保JS文件编码为UTF-8
    你的PieChart.js文件如果不是以UTF-8编码保存,即使页面设置了UTF-8,读取文件中的韩文文本(比如labels里的전체 수량、완료량,以及回调里的개)也会出现乱码。打开JS文件,在编辑器中选择"另存为",确认编码选择UTF-8(部分编辑器需勾选"无BOM",.NET Core环境下两种编码都兼容)。

  • 配置.NET Core响应编码为UTF-8
    在Program.cs(.NET 6+)中,确保MVC响应使用UTF-8编码,避免服务器输出时转码导致乱码:

    var builder = WebApplication.CreateBuilder(args);
    
    // 添加MVC服务并配置编码
    builder.Services.AddControllersWithViews()
        .AddMvcOptions(options =>
        {
            // 设置字符串输出格式器的编码为UTF-8
            options.OutputFormatters.OfType<StringOutputFormatter>()
                .First().SupportedEncodings.Add(System.Text.Encoding.UTF8);
        });
    
  • 修正Tooltip字体配置
    尝试将字体名称替换为英文标识'Malgun Gothic'(对应韩文맑은 고딕),部分环境下韩文字体名识别可能存在问题:

    tooltips: {
        titleFontFamily: "'Malgun Gothic', 'Arial', sans-serif",
        bodyFontFamily: "'Malgun Gothic', 'Arial', sans-serif",
        // 其他配置保持不变
    }
    
  • 为Canvas元素设置全局字体
    检查页面是否有全局CSS覆盖了Canvas的字体,给Chart对应的Canvas元素直接指定支持韩文的字体:

    #myPieChart {
        font-family: '맑은 고딕', 'Malgun Gothic', 'Arial', sans-serif;
    }
    
  • 替换回调中的硬编码韩文
    如果JS文件编码调整后仍有问题,可将回调里的'개'替换为Unicode转义字符'\uac1c',直接避免编码解析问题:

    callbacks: {
        label: function (tooltipItem, data) {
            var label = data.labels[tooltipItem.index] || '';
            var value = data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index];
            return label+': ' +value+ '\uac1c';
        }
    }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 00:43:11