CygwinでJavaのコマンドの文字化けを直すには…(UTF-8用)

Javaを書こうと思い、適当にコード書いてCygwinでコンパイルしようとしたら、Javaをコンパイルできるようにしてなかったことに気づいて慌ててインストールしました。

ですが文字コードがUTF-8だからか文字化けしていました…

そこで文字化けしないようにいろいろ工夫しようと思ったのです。

しかし僕はUNIXコマンドについての知識がほぼないので、いろいろ調べてjavaとjavacは文字化けしないよう頑張りました。他人の知恵借りたからだめとか言わないで

 

まずはCygwinのホームディレクトリで.bashrcに以下の文を直接書きました。

alias javac=’javac -J-Dfile.encoding=UTF-8′

alias java=’java -Dfile.encoding=UTF-8′

このままではCygwin起動時に.bashrcが読み込まれなかったので、.bash_profileに、

if [ -f ~/.bashrc ]; then . ~/.bashrc ; fi

と書き~/.bash_profile から ~/.bashrc を読み込むことで起動時に.bashrcを読み込むことができるようになりました。

おそらくこれでjavaとjavacは文字化けしなくなるのではないかと思います。

しかし僕は-Dfile.encodingと書くところを-Dfine.encodingと書いてしまい、その後エラーが出て慌てていろいろいじってしまい、かなり遠回りしてしまったので結果的にこの作業に2時間以上かけてしまいました… 何故気付かなかったし
皆さんくれぐれもスペルミスには気をつけてください…

 

この後書くことは、僕が回り道した際に勢いあまって付け足したものなので人によっているいらないがあると思います。場合に応じて追加してみてください。

 

1.Pathを通す
.bash_profileに以下の文を追加します。(先ほどの文の下でかまいません)

Path=$Path:~/bin
export Path

これでPathが通ります。
環境によってPathがPATHだったりするので、「システムの詳細設定」の中にある「環境変数」から自分の環境変数がPathがなくPATHだった場合は上の文の「Path」の部分を「PATH」にしておいてください。

 

2.環境変数Pathを編集する
先ほど述べた環境変数である「Path(もしくはPATH)」の値を編集します。
以下の文を今の文はそのまま残して追加します。

;C:\cygwin64\cygdrive\c\Program Files(x86)\jdk1.8.0_45\bin

これで環境変数が通るはずです。
32bit版OSやJavaのバージョンが違う場合はこの文とは若干違いますが、CygwinとJavaのディレクトリを参考に自分で書いてみてください。

 

3.USERNAME変数を開放する
詳しくはわかりませんが「.bash_profile」等を取得するにはroot権限が必要で、そのあたりを個別のユーザーネームへ戻す設定だと思われます。念のため僕は書きました。
.bash_profileに以下の文を追加します。(先ほどの文の下でかまいません)

unset USERNAME

 

以上が僕が試したJavaの文字化けを直す方法です。
拙い文章ですが読んでいただきありがとうございました。
お役に立てれば幸いです。

もし間違っているところがあればコメントやTwitterのアカウントにリプライください。
質問等もできる限り答えようと思います。

Pocket
LINEで送る


コメントを残す