質問: rubyでデータベースからデータを取って`p`などで標準出力にだすと`\xB8\xB8\xB8`という表示になってしまいます。 プログラム自体はうまく回っているのですが、デバッグが大変なので標準出力で確認できるように変換出来るようにしたいのですが、やり方がわかりません。 教えていただけないでしょうか。 あと、これは`文字コード`がそのまま表示されていると認識してるのですがあっていますか? `文字エンコード`とごっちゃになっていて検索も上手く出来ずに困っています。
回答: p に文字列オブジェクトを与えた場合は、その文字列オブジェクトが持っている文字エンコーディングに従って表示されます。 `\xB8\xB8\xB8` のように表示されるということはおそらくエンコーディングがあっていないのだと思います。 たとえば、その文字列が UTF-8 エンコーディングなのであれば、`p string.dup.force_encoding("utf-8")` のようにすればちゃんと文字として表示されると思います。