【问题标题】:insert accented characters in Google Worksheet?在 Google Worksheet 中插入重音字符?
【发布时间】:2014-03-10 01:18:40
【问题描述】:

我正在使用以下方法将数据插入 Google 工作表:

var row = new RowWork(null, null, {
    column1: col1,
    column2: col2,
});

this.GData.postEntry(row);

toAtom: function() {
return '<entry xmlns="http://www.w3.org/2005/Atom" xmlns:gsx="http://schemas.google.com/spreadsheets/2006/extended">'+
            '<gsx:col1><![CDATA['+this.col1+']]></gsx:col1>'+
            '<gsx:col2><![CDATA['+this.col2+']]></gsx:col2>'+
        '</entry>';
}

postEntry: function(row)
{
    var req = new XMLHttpRequest();
    var atom = row.toAtom();

    req.open('POST', row.editurl, false);
    req.setRequestHeader('Authorization', 'GoogleLogin auth='+ClientLogin.token);
    req.setRequestHeader('GData-Version', '3.0');
    req.setRequestHeader('Content-Type', 'application/atom+xml; charset=utf-8');
    req.setRequestHeader('Content-Length', atom.length);
    req.setRequestHeader('Connection', 'close');
    req.sendAsBinary(atom);

    if(! req.responseText.match(/^<\?xml.+/)) {
        throw new Error(req.responseText);
    }

    var parser = new DOMParser();
    var DOM = parser.parseFromString(req.responseText, "text/xml");
    row.editurl = DOM.getElementsByTagName('link')[1].getAttribute('href');
    row.etag = DOM.getElementsByTagName('entry')[0].getAttribute('gd:etag');

    return row;
},

但是我插入的数据有时有重音字符,所以一旦插入,比如说:mécho 我在工作表中得到m�cho。在插入之前使用alert(col2) 时,我得到了正确的mécho

似乎是什么问题?

【问题讨论】:

  • 您在使用 google-apps-script。你有正确的问题标签吗?
  • 我正在使用 Google API
  • 名字有点迷糊,是Gdata ...
  • 我尝试使用 Java GData 3,0 API (google-spreadsheet-api)。一切正常,读写。我使用 \u00E9 使用 java 编码所以不知道为什么会出现问题,因为我认为它们都使用相同的协议。 ...我的猜测是,如果你能正确编码,它确实有效。

标签: javascript google-sheets gdata-api google-spreadsheet-api


【解决方案1】:

使用 replace 函数将文字转换为其等效的 XML 实体:

var atom = row.toAtom().replace(/é/g, "&#233;");

参考文献

【讨论】:

    猜你喜欢
    • 2013-01-22
    • 1970-01-01
    • 1970-01-01
    • 2012-09-17
    • 2012-08-07
    • 2017-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多