我想使用play框架生成用于在scala中下载的CSV文件。下载的CSV文件在linux上看起来不错,但无法正确显示欧元符号。更具体地说,可以在Linux上正确显示€并在Mac上进行文本编辑。但它显示â,当由Excel Mac2011打开时。我做了一些研究,发现它与UTF编码有关。然而,即使我使用utf-16代替它,它仍然是相同的。
以下是我的代码snipet。假设mydata:String是我需要用CSV写的内容。
val content = mydata.getBytes("utf-16")
val inputstream = new ByteArrayInputStream(content)
val fileContent: Enumerator[Array[Byte]] = Enumerator.fromStream(inputstream)
val fileName = "attachment; filename=myCsvTest.csv"
Ok.chunked(fileContent).withHeaders(CONTENT_ENCODING -> "utf-16", CONTENT_TYPE -> "application/x-download" , CONTENT_DISPOSITION -> fileName)
}
请提出一些建议。谢谢。