解决Highcharts导出时中文变乱码

场景:asp.net中使用Highcharts图表,使用Tek4.Highcharts.Exporting导出服务。

问题:使用Highcharts导出图片,图片上的中文全是乱码。

分析:出现乱码100%是编码的问题。

解决方案:

Tek4.Highcharts.Exporting.Exporter.cs

 internal Exporter(
      string fileName, 
      string type, 
      int width, 
      string svg)
    {
      string extension;

      this.ContentType = type.ToLower();
      this.Name = fileName;
      this.Svg = svg;
      this.Width = width;

      // Validate requested MIME type.
      switch (ContentType)
      {
        case "image/jpeg":
          extension = "jpg";
          break;

        case "image/png":
          extension = "png";
          break;

        case "application/pdf":
          extension = "pdf";
          break;

        case "image/svg+xml":
          extension = "svg";
          break;

        // Unknown type specified. Throw exception.
        default:
          throw new ArgumentException(
            string.Format("Invalid type specified: '{0}'.", type));
      }

      // Determine output file name.
      this.FileName = string.Format(
        "{0}.{1}",
        string.IsNullOrEmpty(fileName) ? DefaultFileName : fileName,
        extension);

      // Create HTTP Content-Disposition header.YH 2012.08.07
      // 用utf8编码,解决中文名称乱码问题
      this.ContentDisposition =
          string.Format("attachment; filename={0}", HttpUtility.UrlEncode(System.Text.UTF8Encoding.UTF8.GetBytes(this.FileName)));
    }

把编码格式换成UTF8.

问题搞定。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值