&引用;symfony新项目名称“;命令生成ISO-9958-1编码的文件

&引用;symfony新项目名称“;命令生成ISO-9958-1编码的文件,symfony,character-encoding,symfony4,Symfony,Character Encoding,Symfony4,谁能告诉我为什么 symfony新项目名称--完整 生成ISO-8859-1编码的文件?正如我现在发现的,文件不是UTF-8编码的。为什么会这样?我如何将其更改为UTF-8?如何确保像make:form这样的命令将生成UTF-8文件 我使用的是Windows 10。这很可能是您的文本编辑器感到困惑或“假设”编码不正确 symfony新项目名称--full只需使用composer创建项目即可。具体而言,它呼吁: composer create-project symfony/website-sk

谁能告诉我为什么

symfony新项目名称--完整
生成ISO-8859-1编码的文件?正如我现在发现的,文件不是UTF-8编码的。为什么会这样?我如何将其更改为UTF-8?如何确保像
make:form
这样的命令将生成UTF-8文件


我使用的是Windows 10。

这很可能是您的文本编辑器感到困惑或“假设”编码不正确

symfony新项目名称--full
只需使用
composer
创建项目即可。具体而言,它呼吁:

composer create-project symfony/website-skeleton
它依次调用git clone,就这样

文件不是真正的“生成”,而是从适当的Git存储库中克隆出来的。Git将直接检索存储库中存在的文件,而不应用任何类型的转换

因此,文件将使用原始存储库中的任何编码。在我看来,这很重要。。。它已经是UTF-8了

但更重要的是,几乎所有文件(除了极少数例外)都只包含ASCII范围内的字符。。。由于UTF-8是ASCII的超集,因此字符不在ASCII范围内的文件无法与UTF-8或ISO-8859-1区分

除此之外,文件的实际编码在很大程度上是无关的,除了非常特定的位置(例如,将用作输出的硬编码字符串)

我的猜测是,在没有特殊字符或字符的情况下,您的文本编辑器默认显示文件,就好像它们是在编辑器的默认编码中“编码”的一样,因为如果您添加任何超出ASCII范围的字符,这些字符将使用ISO-8859-1进行编码


解决方案是更改您使用的任何代码编辑器的设置,使其默认为UTF-8。

这对您有什么影响?为什么您关心它如何在文件中存储数据?如果输出是从web服务器在utf-8上完成的,谁会关心它是如何存储在文件中的呢?有一种方法可以在phpstorm IDE中将文件转换为utf-8。请分享更多详细信息-您是如何检查编码的?你试图解决什么问题?似乎是真的。现在它正在工作。不知道为什么我看到了?在输出中。不能再复制了。