タグ

Rubyと文字コードに関するtks_periodのブックマーク (2)

  • Rubyのエンコーディング - tmtms のメモ

    Ruby 1.9 から文字列や正規表現オブジェクトはそれぞれエンコーディング(いわゆる文字コード)を保持するようになりました。 たとえば 0xB1 0xB2 という2バイトは EUC-JP エンコーディングでは「渦」、SHIFT_JIS エンコーディングでは「アイ」という文字になります。つまり同じバイト列でもエンコーディングが異なれば異なる文字として解釈されます。 1.8 では文字列はただのバイト列でした。なので、それがどのような文字を表しているのか、つまりエンコーディングが何なのかはプログラムが知っている必要がありました。 1.9 では文字列オブジェクト自身が自分が何のエンコーディングかを知っています。同じ 0xB1 0xB2 というバイト列でも、それが EUC-JP の「渦」なのか SHIFT_JIS の「アイ」なのかは、文字列自身が知っています。 スクリプトエンコーディング スクリプ

    Rubyのエンコーディング - tmtms のメモ
  • MySQL/Rubyにおける正しいエンコーディング変更方法 - しばそんノート

    MySQLの文字化けを直したい! 発端はSequelを使ってMySQLのデータを操作するRubyスクリプトを書いていたときでした。 UTF-8で保存したはずの文字列が、妙に文字化けしています。 mysqlコマンドでエンコーディングの確認をしてみると、 $ mysql -h host -u user -p database ...(略)... Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> \s -------------- mysql Ver 14.14 Distrib 5.1.30, for portbld-freebsd7.1 (i386) using 5.2 ...(略)... Server characterset: ujis Db characterset: utf8 Client char

    MySQL/Rubyにおける正しいエンコーディング変更方法 - しばそんノート
    tks_period
    tks_period 2009/09/21
    うわあ… お疲れさまです。非常に参考になります。 大量の時間が掛かったと思いますが、その屍を乗り越えて私たちは快適に…w
  • 1