【问题标题】:URL.createObjectURL and charset UTF-8URL.createObjectURL 和字符集 UTF-8
【发布时间】:2019-01-23 12:19:30
【问题描述】:

我的文本编码有问题

var description = "jak używać?"
        var blob = new Blob([description], {
            type: "text/plain;charset=utf-8;"
        });
        var url = URL.createObjectURL(blob);
        console.log(url)

我在哪里输入 url 我的描述不一样并返回 jak uĹźywaÄ?我做错了什么?

【问题讨论】:

    标签: javascript


    【解决方案1】:

    Byte order mark 添加到数组标题中。

    blob = new Blob(["\ufeff", description]);
    

    https://stackoverflow.com/a/18925211/9867895

    https://en.wikipedia.org/wiki/Byte_order_mark

    【讨论】:

    • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面更改stackoverflow.com/help/how-to-answer,则仅链接答案可能会失效
    【解决方案2】:

    URL.creatObjectUrl 似乎不适用于原始 UTF-8 字符串。为二进制数据https://stackoverflow.com/a/36955941/70716 提供的解决方案应该可以工作。 Creating a Blob from a base64 string in JavaScript 的答案还包括对问题的一些额外解释和替代代码示例。

    【讨论】:

      【解决方案3】:

      试试:

      ...

      var blob = new Blob([**"\ufeff",** description], {
      

      ...

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-02-26
        • 2012-01-14
        • 2015-06-02
        • 2013-05-26
        • 2012-06-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多