みなさんどうもこんにちは。イプシロンソフトウェアで代表をしております、渡部です。最近このあたりの話題で盛り上がることもすっかりなくなりましたが今日は文字化けのお話です。実は Mojibake ってローマ字そのままに英語になってるんですね。最近知りました。
https://ja.wikipedia.org/wiki/%E6%96%87%E5%AD%97%E5%8C%96%E3%81%91
英語など各言語では、「文字化け」を「Mojibake」と日本語のローマ字表記で使用することが定着している。これは、米国のアルダスで日本語版などのソフトウェアの開発を行っていた久保芳之がページメーカーのソフトウェアを開発する過程で文字化けが発生することを説明するために「Mojibake」という言葉を使用していたことが、その後Macintoshの関連業界で普及し、そのまま定着したことによる。
そうそう、かつてインターネット黎明期にバイトで開発していたときに謎の「潤オ」現象にすごく苦しめられた記憶が…っていうかこの単語でググると文字化けの話が出てくるんですね。やっぱみんな苦しめられてたんですね、仲間がいてよかったです。それから時が流れ、最近、と言ってももうUnicodeが普及してからだいぶ経ちましたが、UTF-8使っておけばとりあえずOK的な空気になっていますね。ここのところ文字化けとは縁遠い生活を送ってきていたわけです。
本編の前にいつもの宣伝ですが、うちの会社では一緒に働いてくれてくれる仲間を募集しておりますので興味がある方は覗いてみていただけると嬉しいです。代表もエンジニアでして、エンジニアにとって働きやすい環境が(きっと)整っているはずです(多分)。
問題その1
さて、今携わっているプロジェクトではVisual Studioからビルド前プロセスで .NET Core のツールを起動するようになっているのですが、そのツールが日本語を出力するようになってるんですね。いつだったか忘れましたがVisual Studioのバージョンアップで、日本語の出力が文字化けするようになっちゃったんです。
どうやら調べてみると、コンピューター全体のロケール設定をいじってあげれば直るみたいな話がありました。コンピューター全体の設定いじるのはちょっと嫌だな~(他のアプリに影響が出そうだし)と思いつつも設定してみることにしました。
Windowsのコントロールパネルから「地域」の設定を開きます。
「ワールドワイド言語サポートでUnicode UTF-8を使用」にチェックを入れてマシンを再起動します。しかしながらこの燦然と輝く「ベータ」の文字がとても怖い気もしつつ…本当に設定して大丈夫だろうか。まぁ問題があったら元に戻せばいいのかもな、と思ってとりあえず設定して再起動するとVisual Studioの問題は直りました!その他の問題も特に起きなかったのでこの設定したことをすっかり忘れてしまっていたわけです。そう、あのときまでは (To be continued)
問題その2
その後時間も流れ…問題が顕在化することになります。そう、みんな大好きExcelです。Excelの中にマクロが入っていて「このシートの内容に記入して返送してください」というのが来たのですが、いざ編集しようとするとこんなエラーが出るわけです。
「対応するかっこが」 … うん、多分「ありません」と続くんだろうね。きっと。言いたいことは分かります。マクロ自体を組んだのはメールを送ってきた うちとは別の会社さんだったりして、僕も中に何が書いてあるのか分かりません。でも開くと「対応するかっこが」と言われてもさすがにどうすればいいやら…と思ったらなんかソースコードの中の日本語が文字化けしてるっぽい。ちょっと調べてみるとパソコン全体のロケール設定をUTF-8にしているとExcelのVBAで使われている日本語がどうやら化けた状態で処理されてしまうらしく、それが構文エラーを引き起こしてしまっているようでした。
一時的に全体の設定を元に戻し、Excelを編集し直してから設定を再適用しました。ブログで話が連続的に続いていると原因も分かりやすいですが、全体のロケール設定が原因だと気付くまで結構時間がかかっちゃいました。時間が経つとすっかり忘れちゃいますね。歳かな。