找到 frxExportXML.pas ,修改 TfrxXMLExport.ExportPage(Stream: TStream) 函数中的两个地方:
1、将字符串 s 的定义由 WideString 改为 Utf8String。
2、找到下面的行,将其中的字体 EStyle.Font.Name 改为 Utf8Encode(EStyle.Font.Name):
WriteExpLn('<Font '+
          'ss:FontName="' + EStyle.Font.Name + '" '+
          'ss:Size="' + IntToStr(EStyle.Font.Size) + '" ' +
          'ss:Color="' + HTMLRGBColor(EStyle.Font.Color) + '"' + sb + si + su + '/>');中字体名称需要用 Utf8 编码下:
WriteExpLn('<Font '+
          'ss:FontName="' + Utf8Encode(EStyle.Font.Name) + '" '+
          'ss:Size="' + IntToStr(EStyle.Font.Size) + '" ' +
          'ss:Color="' + HTMLRGBColor(EStyle.Font.Color) + '"' + sb + si + su + '/>');OK,现在乱码的问题解决了。
