Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获得;十六进制值0x3C是无效的属性字符;使用正确的日语XML_Xml_Powershell_Utf 8_Cjk - Fatal编程技术网

获得;十六进制值0x3C是无效的属性字符;使用正确的日语XML

获得;十六进制值0x3C是无效的属性字符;使用正确的日语XML,xml,powershell,utf-8,cjk,Xml,Powershell,Utf 8,Cjk,好了,我要走了 十六进制值0x3C是无效的属性字符 尝试在文件中包含日语区域设置和日语字符的计算机上读取XML时出错: $xml = [xml]@(Get-Content $file) XML中的特定位置非常友好: <Control type="select"> 据我所知,几乎每一个这样的错误都是由“引起的,在本例中,帮助的是在获取文件内容时显式指定编码: $xml = [xml]@(Get-Content $file -Encoding UTF8) 在这种情况下,有

好了,我要走了

十六进制值0x3C是无效的属性字符

尝试在文件中包含日语区域设置和日语字符的计算机上读取XML时出错:

  $xml = [xml]@(Get-Content $file)
XML中的特定位置非常友好:

<Control type="select">


据我所知,几乎每一个这样的错误都是由“引起的,在本例中,帮助的是在获取文件内容时显式指定编码:

 $xml = [xml]@(Get-Content $file -Encoding UTF8)

在这种情况下,有帮助的是在获取文件内容时显式指定编码:

 $xml = [xml]@(Get-Content $file -Encoding UTF8)

下面是如何实现这一点的演示。此file.xml有一个日文字符,编码为utf8 no bom:

<こ/>
Xml并不介意E3,因为它是一个a,上面有一条弯曲的线,但81看起来就像一个空框(stackoverflow无法显示它),因此它会导致错误。以下是file.Xml的原始字节。“0D 0A”只是回车符和换行符

format-hex file.xml -encoding utf8


           Path: C:\Users\admin\foo\file.xml

           00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

00000000   3C E3 81 93 2F 3E 0D 0A                          <ã“/>..
格式化hex file.xml-编码utf8
路径:C:\Users\admin\foo\file.xml
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
00000000 3C E3 81 93 2F 3E 0D 0A。。

我不知道如何准确地再现op的错误,但它是这样的。

下面是如何发生这种情况的演示。此file.xml有一个日文字符,编码为utf8 no bom:

<こ/>
Xml并不介意E3,因为它是一个a,上面有一条弯曲的线,但81看起来就像一个空框(stackoverflow无法显示它),因此它会导致错误。以下是file.Xml的原始字节。“0D 0A”只是回车符和换行符

format-hex file.xml -encoding utf8


           Path: C:\Users\admin\foo\file.xml

           00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

00000000   3C E3 81 93 2F 3E 0D 0A                          <ã“/>..
格式化hex file.xml-编码utf8
路径:C:\Users\admin\foo\file.xml
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
00000000 3C E3 81 93 2F 3E 0D 0A。。

我不知道如何准确地重现op的错误,但它是这样的。

文档是否真的
utf-8
编码了?@MathiasR.Jessen Notepad++说它是utf-8,所有日文字符都显示正确。@MathiasR.Jessen感谢您的评论,它提示我检查是否可以在g时明确指定编码设置内容,有这样一个选项,
Get content
听起来像是utf8没有bom。xml看起来像什么?0x3c是“文档实际上是
utf-8
encoded吗?@MathiasR.Jessen Notepad++说它是utf-8,所有的日语字符都显示正确。@MathiasR.Jessen谢谢你的评论,它提示我检查在获取内容时是否可以显式指定编码,并且有这样一个选项,
Get content
听起来像是utf8没有bom。xml是什么样子的?0x3c“很好,尽管使用
$xml=[xml](获取内容-Raw$file-Encoding UTF8)
效率更高,因为它将文件作为一个整体而不是一个行数组来读取。此外,您不需要在PowerShell Core(v6+)中使用默认的
-Encoding UTF8
。很好,尽管使用
$xml=[xml](Get Content-Raw$file-Encoding UTF8)
,因为它将文件作为一个整体而不是一行数组来读取。此外,您不需要在PowerShell Core(v6+)中使用默认的
-Encoding UTF8
1110xxxx    10xxxxxx    10xxxxxx
format-hex file.xml -encoding utf8


           Path: C:\Users\admin\foo\file.xml

           00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

00000000   3C E3 81 93 2F 3E 0D 0A                          <ã“/>..