sublime text3で文字コードがgbk変換されて戻らなくなった話
100年ぶりくらいにブログページを開いた気がします。
それはともかく最近はRuby on Railsで開発をやっていて、
テキストエディタはsublimeを使っているのですが、ここ最近ずっと困ったことがありました。
そして稀にだけどSave with Encoding とかReopen with Encodingでも直らない時がある。
最早何をしてもgbkから戻らなくなった時の苦肉の策を考えてみた。
結論
※Save with Encoding とか Reopen with EncodingでUTF-8にできなかった人向け
最終手段すぎるけど個人的に確実に直るやつ。
Gitとかで変更履歴しっかり管理してる場合は気を付けた方がいい。
保存したファイルの変更履歴が分からなくなる。
commitの中身はこれだけとかにした方が多分いい。(というかこれやらないで直る方法を知りたい)
とりあえず蛇足で保存の流れを。
まず文字化けしてしまったsublime textを用意します
↑は思い出しながら作った文字化けしてるっぽい適当なテキスト
「# ??b???」が文字化け
これをとにかくundoなどで戻す。
ctrl + zで戻す。
元に戻ったテキストを全文コピーする。
サクラエディタを開き貼り付ける。
サクラエディタは文字コードの扱いがめちゃくちゃ楽(と思っている)。
まずエディタ右下の文字コードが表示されている床をダブルクリック。
すると即座に文字コード設定のウィンドウが開くのでUTF-8を選択。
このファイルを名前を付けて保存する時に、
元の文字化けで死んでいたファイルを選択して上書き保存する。
以上。
そもそもgbkにならないよう設定できないのか
それができたら苦労はしない。
調べるとそもそもショートカットキーでgbk変換が登録されているらしい(やめてほしい)。
上記の記事は開発環境Macっぽい。
commandの代わりにctrlで設定すればこの苦しみから解放されるのか...
> "keys": ["shift+ctrl+c"]
そんなことはなかった。様子見たもののまたgbkに。
やはり設定値が違うのか....他も見たけどいまいちわからん
とりあえず復帰はするけどもうgbkにならない方法が知りたい。
間違ったショートカットキーを押さなければいい話か.....
●jarファイルをバッチファイルから実行する際のLog4j2設定ファイルの場所
log4j2でつまった箇所をメモ
【トラブル概要】
log4j2を利用したプログラムを実行可能jarファイルに。
これをバッチから呼び出す時にログが出なくなってしまった。
ちなみにlog4j2.xml(設定ファイル)はsrcのresorcesディレクトリの中に置いていた。
eclipseからは問題なく実行されていたのに…。
とりあえずバッチはコマンドプロンプトのコマンドでjar実行してるだけ。
チラ見えするコマンドプロンプトにエラーが出てるっぽかったので、画面を確認するために下記のようにpauseを置いて処理を止めてみる。
cd [jarの置いてあるディレクトリ]
java -jar [jarファイル名]
pause
そして確認できたエラーの内容↓
ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console.
log4j2の設定ファイルが無いと怒られているっぽい。デフォルトの設定使ったからコンソールにしか出さんよと。
そんな事言ったってお前...jarの中にあるやんけ....
バッチファイルにて-classpathで絶対パスを指定してもウンともスンとも言わない。クラスパスは違う。なるほど?
【解決策】
そうすると無事にログが出力された。
別のディレクトリでも見つけてもらえる方法は分からず。特定のファイルのパスを設定するオプションとかあるのだろうか。
処理的には問題ないので一応これで進めることに。腑に落ちないけども。
出力成功したログが文字化けしてたりもしたけど、これはxmlの設定でどうにかなった。この設定も忘れないうちにメモりたい。
こういう所でつまずいてしまうポンコツ加減よ。