【ruby】5C問題にぶち当たった時の話
はじめに
これは、ブログで 2014/9/14 頃に投稿し記事なんですが note の方に移動しました。
5C 問題にぶちあたりました
今更ながら 5C 問題にぶち当たりました。
Shift-JIS で、rubyのコードを書いていて、文字列置換で5C問題にぶつかりました。
ruby 側でこんなコードを書いたら
file_path = file_path.gsub( "\\", "/" )
ファイル名に「ソ」を含んでいた際に文字化けしてしまった……
5C 問題とは
2 byte 目に「5C」が入っていると起こる問題だそうで。
お恥ずかしながら知りませんでした(Shift-JIS で コードを書かなければ問題ない)
よく日本語の Print 文を書くので、Shift-JIS で、コードを書いてしまっていたのですが、これからはやめよう。と誓いました。
上で「Shift-JIS で コードを書かなければ問題ない」と書いたのですが、UTF-8 で書きなおしましたが、同じ問題が起こりました。アルェ?🤪
なので、エンコードを 「UTF-8」にして gsub で変換して、その後に 「Shift-JIS」に戻す。という事を行って回避しました。
うーん……謎だ(根本解決になっていない気がしますが)
まぁ、壁にぶち当たれてよかったです。
今回、壁にぶち当たれてなかったら、本質を理解できないままだっただろうから。
「失敗がヒトを成長させる」とはよく言いますが、ほんとそれ。
成功しかした事がない人は、ある意味幸せだと思いますが
失敗だらけのヒトは、それだけ成長できているので
それもそれで幸せな気がします。
おわりに
それでは今回はこのへんで。
もしサポート頂けたら いつか個人開発をする時に使わせて頂きます!