-
- 117 Posts
teradaさん
こちらでPHP4のテストができないので、
原因を探るために、調査用のプログラムを作ってみました。
以下の調査をお願いできますでしょうか?
1)
http://www.hikidas.com/hikidas/modx_resource/test.Csv2Doc.class.inc.zip
をダウンロード&解凍して「/assets/modules/csv2doc/Csv2Doc.class.inc.php」にアップロード。
2)
モジュール管理で、Csv2Docを開き、設定タブの「モジュール設定」に以下を追加して保存。
&runparams=実行時パラメータ;string;csv_fname
3)
モジュール画面を開き、表示された内容を、このフォーラムのプライベートメッセージで、私まで送ってください。
以下のようなものが、延々表示されるはずです。
/********/assets/modules/csv2doc/Csv2Doc.class.inc.php(1142)1259149792
array(1) {
[0]=>
string(9) "csv_fname"
}
/********/assets/modules/csv2doc/Csv2Doc.class.inc.php(1144)1259149792
string(9) "csv_fname"
/********/assets/modules/csv2doc/Csv2Doc.class.inc.php(1146)1259149792
object(tParam)#24 (3) {
["title"]=>
string(60) "アップロードされたCSVファイルのファイル名"
["val"]=>
string(8) "data.csv"
["opt_list"]=>
NULL
}
/********/assets/modules/csv2doc/Csv2Doc.class.inc.php(1148)1259149792
object(HTMLtable)#85 (12) {
["charset"]=>
string(5) "UTF-8"
["num_cols"]=>
int(2)
["begin_block_tags"]=>
string(30) ""
["end_block_tags"]=>
string(9) "
-
- 117 Posts
teradaさん
上記のテスト用プログラムをアップロードする前に、
2の設定だけでモジュール画面を開いたらどうなるかも、あわせてお願いします。
つまり、以下の手順になります。
1)
モジュール管理で、Csv2Docを開き、設定タブの「モジュール設定」に以下を追加して保存。
&runparams=実行時パラメータ;string;csv_fname
2)
モジュール画面を開き、表示を確認。
3)
http://www.hikidas.com/hikidas/modx_resource/test.Csv2Doc.class.inc.zip
をダウンロード&解凍して「/assets/modules/csv2doc/Csv2Doc.class.inc.php」にアップロード。
4)
モジュール画面を開き、表示された内容を、このフォーラムのプライベートメッセージで、私まで送ってください。
-
- 117 Posts
teradaさんから調査結果をいただいて、PHP4に対応しました(つもりです)
http://www.hikidas.com/hikidas/modx_resource/Csv2Doc.php#dl
試して報告いただけるとありがたいです。
-
- 26 Posts
kazuikeさま
Csv2Doc-093b4.zipで無事動き、登録もできることを確認しました!
本当に助かりました。ありがとうございました!!
寺田
-
- 26 Posts
以前も質問&対応してもらったものです。
また、別の問題に直面してしまいました。
Csv2Docをインストールし、ファイルを読み込もうとすると、
「messages」の欄に
setlocale error(ja_JP.UTF-8)
というエラー文が表示され、CSVを読み込めません。
これは、どう対応すればよいのでしょうか?
どうか、よろしくお願いいたします。
今回は、
PHP Version 5.2.12
MySQL クライアントのバージョン: 5.1.36
のサーバーで、
modx1.0.2Jおよびmodx1.0.3Jをインストールして試しましたが、両方とも同じエラーでした。
寺田
-
- 117 Posts
> teradaさん
このメッセージは、PHPの「setlocale」
http://jp.php.net/manual/ja/function.setlocale.php
がエラーを返したというものです。
具体的には、
setlocale(LC_ALL, "ja_JP.UTF-8")
がエラーになっています。
setlocaleのパラメータは、システムによって異なる場合があるので、
Csv2Docは「sys_locale」パラメータで設定できるようにしてあります。
お使いのサーバが、"ja_JP.UTF-8"を指定できない可能性が考えられますので、
モジュール管理/設定のモジュール設定に、
&sys_locale=ロケール設定;string;jpn
等の設定を追加して試していただけますか?
※「jpn」のところは、システムによりますので、適宜調整してください。
#
もしかして、お使いのサーバは、Windowsでしょうか?
-
- 26 Posts
kazuikeさま
追記です。
rapidsiteの方へ問い合わせて状況をみていただいたたところ、プログラム側の問題ではないかということでした。
「同サーバー上で動いているEC-CubeはUTF-8で動いているので、エラーが出ないはず」
と言われてしまいました。
参考になればと思います。
どうぞよろしくお願いいたします。
寺田
-
- 117 Posts
問い合わせ可能なら、ロケール文字に何を指定すれば良いか聞いてみてはいかがでしょうか?
#EC-CIBEがUTF-8で動くということと、この件とどういう関係があるのかわかりませんが。
-
- 26 Posts
kazuikeさま
迅速な対応、本当に助かります!!
rapidsiteさんに電話で聞いてみました。
ひととおり状況説明をして、「setlocale関数の第2引数をなんという文字列にすればよいか?」とピンポイントに聞いてみたのですが、
あまりPHPに詳しくない方だったので、話がかみ合いませんでした。。。それとも質問がまずかったのでしょうか?
試しに、Csv2Doc.class.inc.phpの1242行目をコメントアウトすると、一応登録までできたのですが、
これだと、危険でしょうか?
一応、日付けのデータもうまく登録できました。