2012-05-04 9 views

答えて

0

あなたは 'ActiveRecordの' を持っている場合、あなたはmb_charsを使用することができますactivesupportののChars class

string = "日本" 
string.mb_chars[0] 
=> "日" 
0

を使用することができます。

それとも、標準ライブラリを使用することができます

str = '日本' 
str.codepoints.take(1) 
#日 

を「コードポイント」は、文字列の実際のエンコーディングによって列挙子を与え、あなたがしたい文字の任意の金額がかかります「を取ります」。または使用できます

str.codepoints.to_a[0] 

文字列のエンコーディングを配列に変換します。短い弦は良いですが大きな弦は良いわけではありません。

2

これは、限り、あなたの文字列に設定された正しいエンコーディングを持っているとしてルビーすることで構築されています。

$ ruby -ve 'p "日本".encoding, "日本"[0]' 
ruby 1.9.3p125 (2012-02-16 revision 34643) [x86_64-darwin11.3.0] 
#<Encoding:UTF-8> 
"日" 

mb_charsものActiveRecordを使用する必要はありません。

関連する問題