我已将数据从SQL Server Management Studio中的结果网格导出到csv文件.csv文件看起来正确.
但是当我使用read.csv将数据读入R数据帧时,第一列名称前缀为" ï.. ".我如何摆脱这个垃圾文本?
例:
str(trainData)
'data.frame': 64169 obs. of 20 variables:
$ ï..Column1 : int 3232...
$ Column2 : int 4242...
Run Code Online (Sandbox Code Playgroud)
数据看起来像这样(没什么特别的):
Column1,Column2
100116577,100116577
100116698,100116702
我相信大多数人建议使用UTF-8作为Javascript文件的编码.
是否有关于这些文件是否包含字节顺序标记的标准,还是不包括它?(即JS文件是否应该使用/不使用UTF-8 BOM?)
我希望看到一个RFC,或者这个"事实上"的标准,而不是个人喜欢哪种意见.
创建一个文件utf8.txt.确保编码为UTF-8(无BOM).将其内容设置为€
在cmd.exe:
type utf8.txt > out.txt
内容out.txt是€
在PowerShell(v4)中:
cat .\utf8.txt > out.txt
要么
type .\utf8.txt > out.txt
Out.txt内容是 €
如何全局使PowerShell正常工作?
如何从正在创建的XML文件中删除BOM?
我尝试过使用新的UTF8Encoding(false)方法,但它不起作用.这是我的代码:
XmlDocument xmlDoc = new XmlDocument();
XmlTextWriter xmlWriter = new XmlTextWriter(filename, new UTF8Encoding(false));
xmlWriter.Formatting = Formatting.Indented;
xmlWriter.WriteProcessingInstruction("xml", "version='1.0' encoding='UTF-8'");
xmlWriter.WriteStartElement("items");
xmlWriter.Close();
xmlDoc.Load(filename);
XmlNode root = xmlDoc.DocumentElement;
XmlElement item = xmlDoc.CreateElement("item");
root.AppendChild(item);
XmlElement itemCategory = xmlDoc.CreateElement("category");
XmlText itemCategoryText = xmlDoc.CreateTextNode("test");
item.AppendChild(itemCategory);
itemCategory.AppendChild(itemCategoryText);
xmlDoc.Save(filename);
Run Code Online (Sandbox Code Playgroud) 首先,一些背景:我正在使用Python开发Web应用程序.我的所有(文本)文件当前都以带有BOM的UTF-8存储.这包括我的所有HTML模板和CSS文件.这些资源作为二进制数据(BOM和所有)存储在我的数据库中.
当我从数据库中检索模板时,我使用它来解码它们template.decode('utf-8').当HTML到达浏览器时,BOM存在于HTTP响应主体的开头.这会在Chrome中产生一个非常有趣的错误:
Extra <html> encountered. Migrating attributes back to the original <html> element and ignoring the tag.
Chrome似乎会<html>在看到BOM时自动生成代码并将其误认为内容,从而使真正的<html>代码出错.
那么,使用Python,从我的UTF-8编码模板中删除BOM的最佳方法是什么(如果存在 - 我将来不能保证这一点)?
对于其他基于文本的文件,如CSS,主流浏览器是否会正确解释(或忽略)BOM?它们作为普通二进制数据发送而没有.decode('utf-8').
注意:我使用的是Python 2.5.
谢谢!
我使用Windows上的Microsoft Visual Studio和uBuntu Linux上的GCC开发C++交叉平台.
在Visual Studio中,我可以在我的代码中使用像" π "和" ² " 这样的unicode符号.Visual Studio始终将源文件保存为带有BOM(字节顺序标记)的UTF-8.
例如:
// A = ?.r²
double ? = 3.14;
Run Code Online (Sandbox Code Playgroud)
只有在我首先删除BOM时,GCC才会愉快地编译这些文件.如果我不删除BOM,我会收到以下错误:
wwga_hydutils.cpp:28:9:错误:在程序中迷路'\ 317'
wwga_hydutils.cpp:28:9:错误:在程序中迷失'\ 200'
这让我想到了这个问题:
有没有办法让GCC编译UTF-8文件而不先删除BOM?
我正在使用:
和:
编辑:
正如第一个评论者指出的那样,我的问题不是 BOM,而是在字符串常量之外使用非ascii字符.GCC不喜欢符号名称中的非ascii字符,但事实证明GCC与带有BOM的UTF-8完全兼容.
我使用的是一个Javascript文件,它是其他JavaScript文件的串联.
不幸的是,将这些JavaScript文件连接在一起的人在读取文件时没有使用正确的编码,并允许将每个JavaScript文件的BOM写入连接的JavaScript文件.
有没有人知道搜索连接文件并删除任何/所有BOM标记的简单方法?
对Mac OSX使用PHP或bash脚本会很棒.
我有一些带拐杖的工作代码,可以将BOM标记添加到新文件中.
#writing
File.open name, 'w', 0644 do |file|
file.write "\uFEFF"
file.write @data
end
#reading
File.open name, 'r:bom|utf-8' do |file|
file.read
end
Run Code Online (Sandbox Code Playgroud)
有没有办法自动添加标记而不"\uFEFF"在数据之前写隐藏?喜欢的东西File.open name, 'w:bom' # this mode has no effect可能?
经过一番头疼后,我发现使用set encoding UTF8(带BOM)的eclipse会导致错误.当您使用包含导致网页标题在chrome中体内呈现时,它会导致添加空格.
即.在index.php上,在当然之前或之后没有间隙
<?php include_once('header.php'); ?><body>test</body>
Run Code Online (Sandbox Code Playgroud)
和header.php有(当然没有间隙)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>test title</title>
</head>
Run Code Online (Sandbox Code Playgroud)
然后测试标题出现在正文中(不在视图源中,而是在chrome中的控制台中).这会在页面顶部产生间隙.
在notepad ++中打开index.php和header.php,并在没有BOM的情况下将编码更改为UTF8解决了这个问题.我怎样才能在Eclipse中解决这个问题?!切换到记事本++是不可取的,在eclipse中有太多很好的功能是有用的(更好的自动完成,自动版本控制等).
给我一个谜......
我试图用Python读取一个CSV文件,代码如下:
with open("example.txt") as f:
c = csv.reader(f)
for row in c:
print row
Run Code Online (Sandbox Code Playgroud)
我example.txt只有以下内容:
Hello world!
对于UTF-8或ANSI编码文件,这给了我预期的输出:
> ["Hello world!"]
Run Code Online (Sandbox Code Playgroud)
但是,如果我将文件保存为带有BOM的UTF-8,我会得到以下输出:
> ["\xef\xbb\xbfHello world!"]
Run Code Online (Sandbox Code Playgroud)
由于我无法控制用户将用作输入的文件,因此我希望这也适用于BOM.我该如何解决这个问题?有什么我需要做的,以确保这也适用于其他编码?
byte-order-mark ×10
utf-8 ×5
python ×2
c# ×1
csv ×1
eclipse ×1
file ×1
g++ ×1
gcc ×1
javascript ×1
php ×1
powershell ×1
python-2.7 ×1
r ×1
ruby ×1
unicode ×1
xml ×1
xmlwriter ×1