[Windows]

smbwebclient と日本語パス / 2008-08-08 (金)

CentOS5.1 の yum アップデートしたら、smbwebclient で日本語パスが通らなくなりました。

何でだろと調査したら、以下の問題に抵触してるっぽいです。

php 5.2.6のescapeshellcmdで

嘆いても始まらないので直しました。変数 cfgDefaultLocale を新規に作成しまして、これに "ja_JP.UTF-8" なりを設定すればそれを内部的に setlocale で設定する、ってな感じです。

私は smbwebclient.php を /usr/lib/samba/webclient/ 以下に置いていまして、DocumentRoot 以下のスクリプトは以下のようにしてます。

<?php
      $SMBWEBCLIENT_CLASS = 'smbwebclient_config';
      include '/usr/lib/samba/webclient/smbwebclient.php';
               class smbwebclient_config extends smbwebclient {
               var $cfgSambaRoot = 'WORKGROUP/PROLIANT1';
               var $cfgDefaultLocale   = 'ja_JP.UTF-8';
               var $cfgDefaultLanguage = 'ja';
               var $cfgDefaultCharset = 'UTF-8';
               var $cfgFacility = LOG_LOCAL5 ;
               // var $cfgLogLevel = 2 ;
               // all your settings ...
      }
      $swc = new smbwebclient_config;
      $swc->Run();
?>

Charset, Language, Locale をばらばらに設定するのでちと見づらいですが、まぁ、いいかなっと。

なお、修正済みのソースは以下に添付しております。すきにつかってください。

トラックバック
1: JabberTags - Find New Sites and Explore the Internet/Recent Links Tagged With Rnote (03/25 06:49)
Bookmarked your site as rnote at JabberTags!
この記事のリンク元

この記事のリンク用URL&トラックバックURL : http://x.nest.jp/Windows/080808_0100.htm

...