【ruby】5C問題にぶち当たった時の話【解決策】

今更ながら 5C 問題にぶち当たりました。

Shift-JIS で、rubyのコードを書いていて、文字列置換で5C問題にぶつかりました。

ruby 側でこんなコードを書いたら

file_path = file_path.gsub( "\\", "/" )
ファイル名に「ソ」を含んでいた際に文字化けしてしまった……

調べて見ると → wiki Shift_JIS

2 byte 目に「5C」が入っていると起こる問題だそうで。
お恥ずかしながら知りませんでした。
(Shift-JIS で コードを書かなければ問題ない)

 

よく日本語のPrint文を書くので
Shift-JIS で、コードを書いてしまっていたのですが
これからはやめよう。と誓いました。

 

上で、「Shift-JIS で コードを書かなければ問題ない」
と書いたのですが、UTF-8 で書きなおしましたが
同じ問題が起こりました。アルェ?🤪

なので、エンコードを 「UTF-8」にして gsub で変換して
その後に 「Shift-JIS」に戻す。
という事を行って回避しました。うーん……謎だ。
(根本解決になっていない気がしますが)

 

まぁ、壁にぶち当たれてよかったです。
今回、壁にぶち当たれてなかったら
本質を理解できないままだっただろうから。

 

「失敗がヒトを成長させる」

とはよく言いますが、ほんとそれ。

成功しかした事がない人は、ある意味幸せだと思いますが
失敗だらけのヒトは、それだけ成長できているので
それもそれで幸せな気がします。

それでは今回はこのへんで👋

フォローお願いします!
>多機能で速いWordPressテーマ「THE THOR」

多機能で速いWordPressテーマ「THE THOR」

本ブログは有料WordPressテーマ「THE THOR」を使用しています。
プラグイン不要でSEO対策が可能なWordPressテーマです。
「豊富なカスタマイズ」「プラグインいらずで多機能」
「デザインダウンロードで見た目をガラッと変更!」
国内NO1のテーマを目指して作られ、今後も進化し続けます。
万全のサポート体制でインストール・初期設定とスムーズに進みますので、初心者ブロガーにもおすすめです。

CTR IMG