短縮名の文字化けを解消

id:n_shuyo:20060616:1151463717 にコメントを寄せてくださった KAMON さんが、TUTOS のあれこれ調整& UTF-8 対応版を公開準備をされているというので、それを待っちゃおうかなあとも思っているのだが、とりあえず手元にある情報は出しておく。


今回は日本語の短縮名が化けてしまう件の対応。
下のソースを修正すればOK。mbstring を有効にして、internal_encoding を EUC-JP にするのを忘れずに。
これでガントチャートで化けていたのも一緒に直る。

/usr/share/totus/php/address.pinc の getShortname() 関数内(159行目)
  return sprintf($lang['AdrFormatShort2'],substr($this->f_name,0,1), $this->l_name);
    ↓
  return sprintf($lang['AdrFormatShort2'],mb_substr($this->f_name,0,1), $this->l_name);
/usr/share/totus/apache.conf
<Directory "/usr/share/tutos">
 php_value mbstring.internal_encoding "EUC-JP"
</Directory>


あと、日本語ではやっぱり last name が前なので、ローカライズファイルでそれも直しちゃおう。

/usr/share/totus/php/localization/ja.p3
 $lang['AdrFormatShort2'] = "%1\$s. %2\$s";
    ↓
 $lang['AdrFormatShort2'] = "%2\$s.%1\$s";