Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.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
Encoding 记事本++;你能识别编码吗?_Encoding_Text Files_Notepad++ - Fatal编程技术网

Encoding 记事本++;你能识别编码吗?

Encoding 记事本++;你能识别编码吗?,encoding,text-files,notepad++,Encoding,Text Files,Notepad++,我用UTF-8编码的内容创建了文件(使用PHP fputcsv) 当我在记事本++中打开此文件时-字符错误(记事本++以ANSI编码开始) 当我从菜单中设置格式->“UTF-8编码”时,一切正常 我很担心,记事本++可以识别编码,也许我用fputcsv创建的文件有问题?第一个字节还是什么?您必须检查记事本++GUI的右下角,以查看正在使用的实际编码。问题不在于记事本++特定,因为猜测正确的编码是一个大问题,没有任何真正的解决方案,因此最好让用户决定在每种情况下最合适的编码。自动检测编码不是可以准

我用UTF-8编码的内容创建了文件(使用PHP fputcsv)

当我在记事本++中打开此文件时-字符错误(记事本++以ANSI编码开始)

当我从菜单中设置格式->“UTF-8编码”时,一切正常


我很担心,记事本++可以识别编码,也许我用
fputcsv
创建的文件有问题?第一个字节还是什么?

您必须检查记事本++GUI的右下角,以查看正在使用的实际编码。问题不在于记事本++特定,因为猜测正确的编码是一个大问题,没有任何真正的解决方案,因此最好让用户决定在每种情况下最合适的编码。

自动检测编码不是可以准确完成的。显式指定编码非常重要。在某些情况下,这是可以猜测的,但即便如此,也不是100%确定的

本文档()解释了与Notepad++相关的情况。 他们还指出,特别是当文件没有使用字节顺序标记(BOM)保存时,会出现困难

假设您的文件在手动设置编码后显示正确,我想说您生成和保存文件的方式没有问题。唯一可以检查的是是否保存BOM表,这可能会提高Notepad++自动检测编码的可能性


值得注意的是,虽然它可以帮助记事本+ +的编辑器更准确地识别编码,但是根据Unicode标准文档,不推荐BOM。

< P>当您想在java程序中反映文本文件的编码时,必须考虑两个THEGIs:编码和字符集。打开文本文件时,您会在“encoding”(编码)菜单下看到编码。另外,请查看“字符集”菜单点。在“东欧”下,您可以找到“ISO 8859-2”,在中欧“Windows-1250”下可以找到。您可以在Java程序中设置相应的编码 当您在表格中查找时:
例如,对于中央欧洲字符集“Windows-1250”,该表建议使用Java编码“Cp1250”。设置编码,您将正确地看到程序中的字符。

有没有办法控制PHP中的字节顺序标记?恐怕我不是PHP人士,但我确实发现了这一点,这可能会有所帮助:。请记住,BOM不是必需的(事实上,在Unicode标准文档中并不推荐使用),谢谢@chamila_c。这就是我想知道的一切。@krlzlx:更改了到internet存档链接的链接,以便可以再次阅读该页面!你在回答什么问题?实际问题与java无关,我回答的问题与Notepad++中的字符编码有关。