半角¥記号がバックスラッシュで表示される

作成日 2010/03/23

Redmineの画面ではチケット等に入力した¥記号(U+005C)がバックスラッシュとして表示されてしまいます。

原因

デフォルトのテーマでは欧文フォントのVerdanaが優先して使用されるのが原因です。

Windows環境においては、メイリオ、MSゴシックなどの日本語フォントが優先して使用されるようにすれば解決します。Mac環境でも、メイリオ・MSゴシックなどWindows系のフォントがインストールされていれば同じ方法で解決します。

ただし、そもそもUnicodeの仕様ではU+005CはREVERSE SOLIDUSとして定義されており、バックスラッシュが表示されるのが正常な挙動です。Windowsの日本語フォントで¥が表示されるのは、歴史的経緯によりU+005Cに¥記号を独自に割り当てているためです。Unicodeにおける¥記号のキャラクタコードはU+00A5です。

解決策

解決策1: デフォルトのテーマファイルを書き換える

public/stylesheets/application.css 内でfont-familyの記述を探し、Verdanaより前に日本語フォントの名前を記述してください。

修正例:

body { font-family: Meiryo, "Hiragino Kaku Gothic Pro", "MS PGothic", Verdana, sans-serif; font-size: 12px; color:#222; margin: 0; padding: 0; min-width: 900px; }

解決策2: farend basicテーマを利用する

ファーエンドテクノロジー株式会社が公開しているRedmine用テーマ「farend basic」は日本語環境で画面を見やすくするためにデフォルトテーマを改良したもので、この問題の対策も含まれています。

くわしくは下記のwebページをご覧ください。

関連情報