Tabular Editor高级脚本导出度量值与列时如何保留Unicode字符
问题原因
你遇到的乱码是因为SaveFile方法默认使用ANSI编码保存文件,无法识别中文、特殊符号等Unicode字符,同时你提供的代码还有一处小问题:ExportProperties的第二个属性参数缺少闭合的双引号,也可能导致导出内容异常。
修正后代码
// 导出所有度量值的名称、描述属性 var csvMeasures = ExportProperties(Model.AllMeasures,"Name,Description"); // 指定UTF-8编码保存,保留所有Unicode字符 SaveFile(@"c:\temp\TabularMeasures.csv", csvMeasures, System.Text.Encoding.UTF8);
补充说明
- 如果导出后用Excel打开CSV仍然显示乱码,可以明确指定使用带BOM的UTF-8编码,兼容性更好,代码如下:
var csvMeasures = ExportProperties(Model.AllMeasures,"Name,Description"); SaveFile(@"c:\temp\TabularMeasures.csv", csvMeasures, new System.Text.UTF8Encoding(true));
- 如果需要导出所有列的信息,只需要把
Model.AllMeasures替换为Model.AllColumns即可,编码规则同样适用。
内容的提问来源于stack exchange,提问作者Alberto Gastaldo
相关产品推荐
相关产品推荐

