kazu22002の技術覚書

PHPer, Golang, AWS エンジニアの日々

Windowsで動作するプログラムを書いてて、日本語で挫折中

現在Windowsで動作するプログラムをPHPPythonを用いていろいろ試行錯誤中です。

 

そこで常にエラーで悩まされるのは日本語文字です。

 

意味がわからなくなってきました。

PHPでファイル名を取得し、コマンドプロンプトで表示させる。だけのプログラムですが濁点や半濁点の文字が文字化けして扱えない。。。

「ブログ」⇒「フ?ロク?」

 

取得すらできていないっぽく、比較すらできない。。。

 

文字コードの問題でしょうが、Windowsでやるのが億劫になってしまう現象です。

PHP.iniの設定を「SJIS」や「UTF-8」で挑戦したりしたけど、変わらなかったりでLinuxで動作するように変えてしまいたいです。

 

コマンドプロンプト文字コードの標準って「SJIS」であってるのか?

それとも「CP932」というやつなのでしょうか。

というかWindows文字コードなのかな??

Wikipediaを読んでると「CP932」っぽい気がしてきますね。

Microsoftコードページ932 - Wikipedia

 

Windowsでコードを書く場合って「CP932」でやった方がいいんですかね。

正直あまり見たことがなかった文字コードのために困ってたりします。たしかにEclipseにもこれがあったような。。。

書くならすべて統一して書いたほうが、エラーが少ないと思うので検討しなければいけないかと思ってます。

 

Python側はいまだにunicodeに変換することに謎があり、全体的に日本語を使用するプログラムでは戦闘(エラーとの戦い)状態です。

(変数の中にある文字列はどうやってユニコードに変換するんだよー。とほほ)

 

もうC#で書くのがいいんだろうかと、迷走してますね。

C#って文字コードなにでかいてるんだろ。参考になるのかなぁ。

 

もう少し戦ってみようと思います。。。

アメリカの人ってこういう文字コードでの壁ってないのかな?だとしたら、マルチバイト文字を利用している国の技術って伸びるのが遅い原因にもなりそうだなぁー。