如何将数组中的字符串转换为ISO Latin-1

时间:2012-06-22 17:43:27

标签: google-apps-script

我正在尝试根据电子表格中的值建立HTML报告,如下所示:


Ereigniszeilen += EreignisVorlage 
          .replace("<ZeileNr>", BerichtZaehler)
          .replace("<KindName>", AlleEintraege[j][ColumnNameKind-1])
          .replace("<LeistungsArt>", LeistungsArt)
          .replace("<Datum>", DatumLeistung)
          .replace("<CheckIn>", CheckIn)
          .replace("<CheckOut>", CheckOut)
          .replace("<TotalStunden>", TotalStunden)
          .replace("<Bemerkung>", AlleEintraege[j][ColumnBemerkung-1]);


var AttachmentInhalt = AttachmentVorlage.replace("<EVENTS>", Ereigniszeilen);
var AttachmentInhalt = AttachmentVorlage
   .replace("<BerichtsDatum>", BerichtsDatumFormatiert)
   .replace("<EVENTS>", Ereigniszeilen); 

var Bericht = [{fileName:"Bericht-Rapport.html", content: AttachmentInhalt}]

然后通过电子邮件发送:


MailApp.sendEmail("heinz.ruffieux@tfv-lac.org", TitelMitKind, "", //Versand des Emails
          {htmlBody: "Guten Tag liebe Eltern,<br> Bonjour chers Parents, <br><br> \
          Beiliegend senden wir Ihnen den wöchentlichen Bericht für die Betreuungsleistungen für <b>" 
          +KindName +" von " +StartDatumFormatiert +" bis " +EndDatumFormatiert +"</b>.<br><br> \
          Nous vous envoyons ci-desous le rapport heptomadaire sur les services d'accueil du <b>" 
          +KindName + " du " +StartDatumFormatiert +" au " +EndDatumFormatiert +".</b><br><br>\
          Mit freundlichen Grüssen <br> \
          Meilleurs salutations <br><br> \
          Tagesfamilienverein des Seebezirks <br> \
          Association d'accueil familial de jour du district du Lac <br><br>" +ZusatztextDeutsch +"<br>" 
          +ZusatztextFranz, attachments: Bericht});

结果是包含一些文本的简单邮件和作为HTML附件的报告。此电子邮件仅发送给瑞士用户。

原则上,几个月以来一切都很好,但我在char编码方面遇到了一些问题。 spreadsheed(source)包含无法正确显示的德语和法语特殊字符。 特别是在iPhone和一些Windows IE9系统上。在我自己的Chrome和Firefox系统上,一切看起来都很棒。

上面的电子邮件的HTML正文文本到目前为止在每个系统上都能正确显示。

有人可以帮我解决如何在Google Apps脚本中应用正确的字符集吗?

非常感谢

亨氏

1 个答案:

答案 0 :(得分:0)

我不是HTML方面的专家,但我想你应该在你的html体中构建一个标题来告诉浏览器(或电子邮件客户端应用程序)使用正确的字符集。您可以通过在gmail(使用您最喜欢的邮件客户端应用程序)上手动向自己发送相同的邮件来轻松地完成此操作,并分析邮件的html内容以了解它是如何完成的?

只是一个建议; - )

编辑:(另一个建议;-)如果附件中出现问题,为什么不用pdf转换呢? DocsList服务中有一个内置转换器。

   var docN = 'docname';
   var ID = 'ID you have get prior to this'
   var pdf = DocsList.getFileById(ID).getAs('application/pdf').getBytes();
   var attach = {fileName: docN+".pdf",content:pdf, mimeType:'application/pdf'};
   MailApp.sendEmail('email@xxx.com', 'Your document as PDF ('+docN+')', 'see attachment', {attachments:[attach]});