Commit 245f4d96 authored by tmaruyama's avatar tmaruyama
Browse files

move utf8 encoding from view to UnifiedDiff (#12641)

git-svn-id: https://svn.redmine.org/redmine/trunk@11545 e93f8b46-1217-0410-a6f0-8f06a7374b81
parent e44d2666
......@@ -10,7 +10,7 @@
<thead>
<tr>
<th colspan="4" class="filename">
<%= Redmine::CodesetUtil.to_utf8_by_setting(table_file.file_name) %>
<%= table_file.file_name %>
</th>
</tr>
</thead>
......@@ -24,11 +24,11 @@
<tr>
<th class="line-num"><%= line.nb_line_left %></th>
<td class="line-code <%= line.type_diff_left %>">
<pre><%= Redmine::CodesetUtil.to_utf8_by_setting(line.html_line_left).html_safe %></pre>
<pre><%= line.html_line_left.html_safe %></pre>
</td>
<th class="line-num"><%= line.nb_line_right %></th>
<td class="line-code <%= line.type_diff_right %>">
<pre><%= Redmine::CodesetUtil.to_utf8_by_setting(line.html_line_right).html_safe %></pre>
<pre><%= line.html_line_right.html_safe %></pre>
</td>
</tr>
<% end -%>
......@@ -40,7 +40,7 @@
<thead>
<tr>
<th colspan="3" class="filename">
<%= Redmine::CodesetUtil.to_utf8_by_setting(table_file.file_name) %>
<%= table_file.file_name %>
</th>
</tr>
</thead>
......@@ -55,7 +55,7 @@
<th class="line-num"><%= line.nb_line_left %></th>
<th class="line-num"><%= line.nb_line_right %></th>
<td class="line-code <%= line.type_diff %>">
<pre><%= Redmine::CodesetUtil.to_utf8_by_setting(line.html_line).html_safe %></pre>
<pre><%= line.html_line.html_safe %></pre>
</td>
</tr>
<% end -%>
......
......@@ -30,15 +30,8 @@ module Redmine
diff_table = DiffTable.new(diff_type, diff_style)
diff.each do |line|
line_encoding = nil
if line.respond_to?(:force_encoding)
line_encoding = line.encoding
# TODO: UTF-16 and Japanese CP932 which is imcompatible with ASCII
# In Japan, diffrence between file path encoding
# and file contents encoding is popular.
line.force_encoding('ASCII-8BIT')
end
unless diff_table.add_line line
line.force_encoding(line_encoding) if line_encoding
line = Redmine::CodesetUtil.to_utf8_by_setting(line)
unless diff_table.add_line(line)
self << diff_table if diff_table.length > 0
diff_table = DiffTable.new(diff_type, diff_style)
end
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment