html 如何将CSV文件的编码更改为ISO-8859-1(ISO-Latin-1)

dy1byipe  于 2022-12-09  发布在  其他
关注(0)|答案(2)|浏览(284)

我已经搜索了太长的时间,以解决我现有的问题.所以,有一个软件,只能读取csv文件与ISO-8859-1(ISO拉丁文-1)编码.如果尝试了alost一切我可以在网上找到,但没有工作.我不想改变文本,我想改变编码.
我试过使用这个库:https://github.com/inexorabletash/text-encoding库和PapaParse库等等。但是他们只是转换文本,所以有奇怪的符号替换ä,ö,ü和其他字符。

uqcuzwp8

uqcuzwp81#

csv文件中的字符不属于您要编码的字符集。您可能会发现行尾的字符不属于您要使用的字符集。如果您在基本的文本编辑器中打开csv文件,或者在dos提示符下输入myFile.csv,您将能够看到哪些字符属于最基本的格式。然后把它们去掉,你应该有一个可以转换的文件。总是在原始文件的副本上工作。最简单的方法是在文本编辑器中搜索和替换,在那里你用什么都不用替换不需要的字符。甚至连一个空格都不用。记住,如果字符是csv结构的一部分-例如..一个分隔符-那么您可能希望将其替换为拉丁等效字符。

8iwquhpp

8iwquhpp2#

我自己找到的,不过还是谢谢你。In js:

const uint8array = new TextEncoder(
        'windows-1252',
        {NONSTANDARD_allowLegacyEncoding: true}
    ).encode(csv_data);
    const blob = new Blob([uint8array])

(For那些,搜索问题:csv_data是一个字符串,包含读取csv文件的值。请确保ad ;在每个值后面,则移动到下一列;在每个值后面,则移动到下一行。)在HTML中:

<script>
        window.TextEncoder = window.TextDecoder = null;
    </script>
    <script src="encoding-indexes.js"></script>
    <script src="encoding.js"></script>

您必须从https://github.com/inexorabletash/text-encoding下载encoding.js和encoding-indexes.js

相关问题