rails:245
From: take_tk <ggb03124@n...>
Date: Tue, 12 Jul 2005 11:21:26 +0900
Subject: [rails:245] ソースに漢字がかけない。
たけ(tk)です
まあ、どうにかなったのですが、
(1)Railsのソースに漢字を書く場合にはutf-8でなければならない。つまり、
utf-8で書き込めるエディタがないと、漢字を書けない。
(2)utf-8からsjisへの変換はiconvでしか出来なかった。nkfやkconvでは文字
化けしてしまった。
という事が分かりました。
みなさんは、どんな風にしていますか?
(3)漢字のソースは read+conv+eval で読み込む?
(4)Railsの$KCODEを変える?
(5)その他。
----
$(rails_app)/app/models/aite.rb
require "iconv"
class Aite < ActiveRecord::Base
# -- KANJI written in UTF8 --
@@human_names = {
:aitecode => "コード",
:aitename => "名称",
:address => "住所",
}.inject({}){|hash,kv| k,v=kv ; hash[k]=Iconv.iconv('SHIFT_JIS','UTF-8',v) ; hash }
def self.humanize(name)
name = name.to_s
ret = @@human_names[name.downcase.intern] || name.to_s.humanize
end
end
----
----
$(rails_app)/app/views/aites/list.rhtml
<h1>Listing aites</h1>
<table>
<tr>
<th>Edit</th>
<% for column in Aite.content_columns %>
<!-- FROM column.human_name -->
<th><%= Aite.humanize(column.name) %></th>
<% end %>
</tr>
<% for aite in @aites %>
<tr>
<td><%= link_to 'Edit', :action => 'edit', :id => aite %></td>
<% for column in Aite.content_columns %>
<td><%=h aite.send(column.name) %></td>
<% end %>
<td><%= link_to 'Show', :action => 'show', :id => aite %></td>
<td><%= link_to 'Destroy', {:action => 'destroy', :id => aite}, :confirm => "Are you sure?" %></td>
</tr>
<% end %>
</table>
<%= link_to "Previous page", { :page => @aite_pages.current.previous } if @aite_pages.current.previous %>
<%= link_to "Next page", { :page => @aite_pages.current.next } if @aite_pages.current.next %>
<br />
<%= link_to 'New aite', :action => 'new' %>
----
Take_tk = KUMAGAI Hidetake
たけ(tk)=熊谷秀武
--
ML: rails@r...
使い方: http://QuickML.com/
-> 245 2005-07-12 04:21 [ggb03124@n... ] ソースに漢字がかけない。 246 2005-07-12 04:33 ┣[yu1@t... ] 248 2005-07-12 05:34 ┗[stoyan@g... ]