Tengo una aplicación con una página de navegador que permite cargar CSV en Google Drive a través de V2 de la API. Solo maneja ASCII (obtengo "no se pudo ejecutar btoa/la cadena que se codificará contiene caracteres fuera del rango Latin1").
Actualicé mi código para que el tipo de contenido ahora sea "text/csv;charset=UTF-8;" . Todavía estoy usando la codificación de transferencia de contenido de base64 .
En varios lugares de la web, encontré recomendaciones para usar btoa(unescape(encodeURIComponent(data))) . Anteriormente, el código solo hacía btoa(data) . Parece que funciona, aunque no lo he probado exhaustivamente.
Entiendo que unescape se considera de forma precaria en relación con ECMA-262. Aquí están las preguntas: