标签: byte-order-mark

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

使用PowerShell以UTF-8编写文件而不使用BOM

Out-File 似乎在使用UTF-8时强制BOM:

$MyFile = Get-Content $MyPath
$MyFile | Out-File -Encoding "UTF8" $MyPath
Run Code Online (Sandbox Code Playgroud)

如何使用PowerShell以UTF-8编写没有BOM的文件?

powershell encoding byte-order-mark utf-8

225
推荐指数
9
解决办法
21万
查看次数

用Python写入UTF-8文件

我真的很困惑codecs.open function.当我做:

file = codecs.open("temp", "w", "utf-8")
file.write(codecs.BOM_UTF8)
file.close()
Run Code Online (Sandbox Code Playgroud)

它给了我错误

UnicodeDecodeError:'ascii'编解码器无法解码位置0的字节0xef:序号不在范围内(128)

如果我做:

file = open("temp", "w")
file.write(codecs.BOM_UTF8)
file.close()
Run Code Online (Sandbox Code Playgroud)

它工作正常.

问题是为什么第一种方法失败了?我该如何插入bom?

如果第二种方法是正确的做法,那么使用点是codecs.open(filename, "w", "utf-8")什么?

python byte-order-mark utf-8

184
推荐指数
5
解决办法
29万
查看次数

如何在PHP中输出UTF-8 CSV,Excel将正确读取?

我有一个非常简单的事情,只输出一些CSV格式的东西,但它必须是UTF-8.我在TextEdit或TextMate或Dreamweaver中打开这个文件,它正确地显示了UTF-8字符,但是如果我在Excel中打开它,它就是这样做的傻事.这是我在文档的头部所得到的:

header("content-type:application/csv;charset=UTF-8");
header("Content-Disposition:attachment;filename=\"CHS.csv\"");
Run Code Online (Sandbox Code Playgroud)

除了Excel(Mac,2008)不想正确导入它之外,这一切似乎都具有预期的效果.Excel中没有选项可以"以UTF-8打开"或其他任何东西,所以......我有点恼火.

尽管有很多人遇到同样的问题,我似乎无法在任何地方找到任何明确的解决方案.我最看重的是包含BOM,但我无法弄清楚如何做到这一点.正如你在上面看到的那样,我只是提供echo这些数据,我不会写任何文件.如果我需要,我可以这样做,我不是因为此时似乎不需要它.有帮助吗?

更新:我尝试回显echo pack("CCC", 0xef, 0xbb, 0xbf);我刚刚从试图检测BOM的网站上提取的BOM.但Excel只会在导入时将这三个字符附加到第一个单元格,并且仍会混淆特殊字符.

php csv byte-order-mark utf-8

181
推荐指数
13
解决办法
31万
查看次数

没有BOM的UTF-8

我有javascript文件,我需要它们以UTF-8(没有BOM)保存,每当我在Notepad ++中将它们转换为正确的格式时,当我在Visual Studio中打开它们时,它们将恢复为带有BOM的UTF-8.我如何阻止VS2010这样做呢?

另一个问题是,Visual Studio中没有签名的UTF-8与没有BOM的UTF-8相同吗?

byte-order-mark visual-studio-2010 visual-studio

173
推荐指数
6
解决办法
7万
查看次数

如何从文件开头删除ï»?

我有一个CSS文件,当我使用gedit打开它时看起来很好,但是当它被PHP读取(将所有CSS文件合并为一个)时,这个CSS前面有以下字符:

PHP删除所有空格,因此代码中间的随机会弄乱整个事物.正如我所提到的,当我在gedit中打开文件时,我实际上看不到这些字符,因此我无法轻易删除它们.

我搜索了问题,文件编码显然有问题,这是有道理的,因为我已经通过ftp和rsync将文件转移到不同的Linux/Windows服务器,并使用一系列文本编辑器.我不太了解字符编码,所以请帮助.

如果有帮助,文件将以UTF-8格式保存,gedit将不允许我以ISO-8859-15格式保存(该文档包含一个或多个无法使用指定字符编码进行编码的字符).我尝试用Windows和Linux行结尾保存它,但都没有帮助.

php byte-order-mark utf-8 character-encoding mojibake

140
推荐指数
7
解决办法
19万
查看次数

编写没有字节顺序标记(BOM)的文本文件?

我正在尝试使用带有UTF8编码的VB.Net创建一个文本文件,没有BOM.任何人都可以帮助我,怎么做?
我可以用UTF8编码写文件但是,如何从中删除字节顺序标记?

edit1:我尝试过像这样的代码;

    Dim utf8 As New UTF8Encoding()
    Dim utf8EmitBOM As New UTF8Encoding(True)
    Dim strW As New StreamWriter("c:\temp\bom\1.html", True, utf8EmitBOM)
    strW.Write(utf8EmitBOM.GetPreamble())
    strW.WriteLine("hi there")
    strW.Close()

        Dim strw2 As New StreamWriter("c:\temp\bom\2.html", True, utf8)
        strw2.Write(utf8.GetPreamble())
        strw2.WriteLine("hi there")
        strw2.Close()
Run Code Online (Sandbox Code Playgroud)

1.html仅使用UTF8编码创建,2.html使用ANSI编码格式创建.

简化方法 - http://whatilearnttuday.blogspot.com/2011/10/write-text-files-without-byte-order.html

vb.net encoding byte-order-mark file-handling

115
推荐指数
4
解决办法
8万
查看次数

字节顺序标记用Java解压缩文件读取

我正在尝试使用Java读取CSV文件.一些文件在开头可能有一个字节顺序标记,但不是全部.当存在时,字节顺序与第一行的其余部分一起被读取,从而导致字符串比较出现问题.

是否有一种简单的方法可以跳过字节顺序标记?

谢谢!

java byte-order-mark utf-8

106
推荐指数
6
解决办法
7万
查看次数

使用awk删除字节顺序标记

awk用于删除BOM的脚本(可能是单线程)怎么样?

规格:

  • 在第一个(NR > 1)之后打印每一行
  • 对于第一行:如果以#FE #FF或开头#FF #FE,则删除它们并打印其余部分

unicode awk byte-order-mark

102
推荐指数
4
解决办法
8万
查看次数

如何检测文本文件的字符编码?

我尝试检测我的文件中使用了哪个字符编码.

我尝试使用此代码来获取标准编码

public static Encoding GetFileEncoding(string srcFile)
    {
      // *** Use Default of Encoding.Default (Ansi CodePage)
      Encoding enc = Encoding.Default;

      // *** Detect byte order mark if any - otherwise assume default
      byte[] buffer = new byte[5];
      FileStream file = new FileStream(srcFile, FileMode.Open);
      file.Read(buffer, 0, 5);
      file.Close();

      if (buffer[0] == 0xef && buffer[1] == 0xbb && buffer[2] == 0xbf)
        enc = Encoding.UTF8;
      else if (buffer[0] == 0xfe && buffer[1] == 0xff)
        enc = Encoding.Unicode;
      else if (buffer[0] == 0 && …
Run Code Online (Sandbox Code Playgroud)

c# encoding byte-order-mark character-encoding

73
推荐指数
4
解决办法
10万
查看次数