小编Ade*_*han的帖子

九月= ";" 声明破坏了由XSL生成的CSV文件中的utf8 BOM

我目前正在使用XSLT开发CSV导出.在我的情况下,CSV文件将使用%99%的Excel,因此我必须考虑Excel行为.

我的第一个问题是csv中的德国特殊字符.即使CSV编码是UTF8,Excel也无法使用UTF8正确打开CSV文件.特殊字符变得怪异的符号.我找到了解决这个问题的方法.我刚刚添加了3个额外字节(EF BB BF - 又名BOM头),内容字节开头.因为UTF8 BOM是说'嘿伙计,它是UTF8,正确打开它'到Excel.问题解决了!

我的第二个问题是分离器.默认分隔符可以是逗号或分号,具体取决于区域.我认为它是德国的分号和英国的逗号.所以,为了防止出现这个问题,我不得不在下面添加一行:

<xsl:text>sep=;</xsl:text>
Run Code Online (Sandbox Code Playgroud)

要么

<xsl:text>sep=,</xsl:text>
Run Code Online (Sandbox Code Playgroud)

(此分隔符未实现为硬编码)

但我找不到任何解决方案的问题是,如果你添加"sep =;" 或者,当使用UT8-BOM生成CSV文件时,文件的开头"sep =",BOM无法再正确显示特殊字符!我确信BOM字节总是在字节数组的开头.此屏幕截图来自Mac OS X中的MS Excel:

在此输入图像描述

前3个符号属于BOM表头.

你有没有想过这个问题,或者你有什么建议吗?谢谢.

编辑:

我分享了打印屏幕.

一个.BOM和 <xsl:text>sep=;</xsl:text>

在此输入图像描述

湾 只是BOM

在此输入图像描述

Java代码:

// Write the bytes
ServletOutputStream out = resp.getOutputStream();
if(contentType.toString().equals("CSV")) {
  // The additional bytes in below is prefix indicates that the content is in UTF-8.
  out.write(239);
  out.write(187);
  out.write(191);
} 
out.write(bytes); // Content bytes, in this case XSL
Run Code Online (Sandbox Code Playgroud)

XSL代码:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:output method="text" version="1.0" encoding="UTF-8" indent="yes" /> …
Run Code Online (Sandbox Code Playgroud)

csv xslt excel

30
推荐指数
2
解决办法
2万
查看次数

如何使用Firebase填充RecyclerView适配器

我做了很多研究,但我找不到任何资源如何使用Recycler View Firebase(反之亦然)

有一个Firebase列表适配器,可以从中扩展BaseAdapter.我在Firebase聊天应用程序中找到了它.这是FirebaseListAdapter类.但是RecyclerView使用的适配器需要扩展RecyclerView.Adapter.

你是怎么克服这个问题的?你有什么建议吗?

java android android-layout android-fragments firebase

17
推荐指数
2
解决办法
2万
查看次数

Highchart中条形图内外的数据标签颜色可以不同

我想知道如果文本不适合条形长度,条形图内的文本颜色(plotOptions.bar.dataLabels.color)可能会有所不同.例如: 在此输入图像描述

代码在这里:

$(function () {
$('#container').highcharts({
    chart: {
        type: 'bar',
        height: 700
    },
    xAxis: {
        categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
    },
    plotOptions: {
        bar: {
            stacking: 'normal',
            pointPadding: 0,
            groupPadding: 0.2,
            dataLabels: {
                enabled: true,
                color: 'black',
                align: "right",
                format: '{y} M',
                inside: false,
                style: {
                    fontWeight: 'bold'
                },
                verticalAlign: "middle"
            },
        }
    },

    series: [{
        data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 2.33]
    }]
});
Run Code Online (Sandbox Code Playgroud)

}); …

javascript highcharts

5
推荐指数
1
解决办法
6757
查看次数

如何在JAVA中拆分字符串

我有一个很长的字符串,我想分开作为一个规则.我的字符串是:

    [1] (dokuma) deve, öküz, at tüyü, keçi k?l? veya koyun yününün s?k??t?r?larak sertle?tirilmesiyle imal edilen ve giyecek yap?m?nda kullan?lan kal?n ve kaba kuma? [2] (giyim) kuma?tan yap?lan yakas?z bol ve uzun üstlük [3] (halk a?z?) abla, anne [4] (halk a?z?) dar pantolon üzerine giyilen ceket
Run Code Online (Sandbox Code Playgroud)

我希望表现出来:

[1] (dokuma) deve, öküz, at tüyü, keçi k?l? veya koyun yününün s?k??t?r?larak sertle?tirilmesiyle imal edilen ve giyecek yap?m?nda kullan?lan kal?n ve kaba kuma? 
[2] (giyim) kuma?tan yap?lan yakas?z bol ve uzun üstlük 
[3] …
Run Code Online (Sandbox Code Playgroud)

java

-2
推荐指数
1
解决办法
180
查看次数