You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The PSR1 standard stands that "Files MUST use only UTF-8 without BOM for PHP code".
There is no check for files using other encodings than UTF-8. The existing sniff checks for BOM in the files.
If a file is encoded with, for example. windows-1252 encoding and don't have BOM, the file check pass.
Steps to reproduce the behavior:
Create a file called test.php with any code and file encoding different than UTF-8 and without BOM
Run phpcs --standard=PSR1 test.php
No errors are showed regarding file encoding
Expected behavior
There should be an errors regarding the file enconding.
Operating System
Debian 11.7 Bullseye
PHP version
8.2.6
PHP_CodeSniffer version
3.7.2
Standard
PSR1, PSR2, PSR12
Install type
Composer local
I have searched the issue list and am not opening a duplicate issue.
I confirm that this bug is a bug in PHP_CodeSniffer and not in one of the external standards.
I have verified the issue still exists in the master branch of PHP_CodeSniffer.
The text was updated successfully, but these errors were encountered:
The Generic.Files.ByteOrderMark is only intended to check for the byte order mark, it does not check the file encoding, so that sniff is working correctly.
What I believe you are trying to report is that there is no sniff checking if files are encoded as UTF-8.
While I do believe it can be checked what files claim to be encoded as, I do not believe it is possible to reliably verify that that claim is actually correct. I may well be wrong though and/or reality may have superseded the research I did in a distant past when I looked into something like this before.
I'll mark this as a feature request for now and would be interested to hear if someone has found a way to do this.
The PSR1 standard stands that "Files MUST use only UTF-8 without BOM for PHP code".
There is no check for files using other encodings than UTF-8. The existing sniff checks for BOM in the files.
If a file is encoded with, for example. windows-1252 encoding and don't have BOM, the file check pass.
Steps to reproduce the behavior:
test.php
with any code and file encoding different than UTF-8 and without BOMphpcs --standard=PSR1 test.php
Expected behavior
There should be an errors regarding the file enconding.
master
branch of PHP_CodeSniffer.The text was updated successfully, but these errors were encountered: