CodeSnifferをEUC-JP, SJISに適用する


SJISでもの作るとかもうないけど。

ヾ(・ω<)ノ" 三三三● ⅱⅲ コロコロ♪


------------------- ↓ 余談はここから ↓-------------------

私の投稿は新しいことはあまりなく、
現在取り残されたことについて書いてることは珍しくない。
今回もその一つ。

現状取り扱っているソースコードがEUC-JPでできている。
今時Unocodeじゃないのかと思われるかもしれないが、
まぁそういうもんです。

EUC-JPのソースコードにphpcsをあてる以下のようなエラーが出る。

----------------------------------------------------------------------
 1 | ERROR | An error occurred during processing; checking has been
   |       | aborted. The error message was: iconv_strlen(): Detected
   |       | an illegal character in input string in
   |       | D:\local\vendor\squizlabs\php_codesniffer\src\Tokenizers\Tokenizer.php
   |       | on line 193
----------------------------------------------------------------------

iconv_strlenがあるからいけそうな感じかと思ったが、
どうもなんらかの指定がないとダメらしい。
ちょっと調べてみたらこんな記述があった。

Advanced Usage · squizlabs/PHP_CodeSniffer Wiki#Specifying an Encoding
https://github.com/squizlabs/PHP_CodeSniffer/wiki/Advanced-Usage#specifying-an-encoding


------------------- ↓ 本題はここから ↓-------------------

ヾ(・ω<)ノ" 三三三● ⅱⅲ コロコロ♪

EUC-JPの場合

$ phpcs --encoding=eucjp [ファイル名]

SJISの場合

$ phpcs --encoding=SHIFT-JIS [ファイル名]