質問 > 管理機能 > [EC-CUBE 2.13] 商品情報CSVをアップすると日本語が消えてしまいます |
管理機能
フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
chaco2008 |
投稿日時: 2015/10/28 16:52
対応状況: −−−
|
半人前 登録日: 2015/10/24 居住地: 投稿: 25 |
[EC-CUBE 2.13] 商品情報CSVをアップすると日本語が消えてしまいます 3回目の投稿です。
まだまだ分からない事ばかりですが、 どうぞ宜しくお願い致します。 [OS]windows8.1 [EC-CUBE] 2.13.3 [データベース] PostgreSQL 8.4.20 [PHP]5.3.3 [WEBサーバ] Apache CSVで商品情報をアップロードしました所、日本語テキストが一部消えてしまうという現象が起こっております。 具体的な内容としましては、以下の通りです。 1、商品名「テストtestテスト」という商品情報をダウンロード 2、上記でダウンロードしたcsvを、何も編集せずにアップロード 結果、商品名が「testテスト」と上書きされる 今の所、試した事とその結果としては ●PHP5のfgetcsv関数に問題があるという記事を読み、 LC_Page_Admin_Products_UploadCSV.php のfgetcsv関数直前にsetlocale()を使用 public function lfReadCSVFile(&$objFormParam, &$fp, $objQuery = null) { $dry_run = ($objQuery===null) ? true : false; // 登録対象の列数 $col_max_count = $objFormParam->getCount(); // 行数 $line_count = 0; // 処理に失敗した場合にtrue $errFlag = false; setlocale(LC_ALL, 'ja_JP.UTF-8'); ※この行を追加しました※ while (!feof($fp)) { $arrCSV = fgetcsv($fp, CSV_LINE_MAX); // 行カウント $line_count++; 結果 → 何も改善されませんでした。 ●商品名を「"テストtestテスト"」のようにダブルクオーテーションで囲ってアップロード →実際に登録された商品名が「"テストtestテスト"」のようになり、 ダブルクオーテーションまで情報の一部だと解釈されてしまうが、 日本語部分が消えるという事はなくなった --------------------------------------------------------- 過去スレッド等を確認しました所、 似たような現象が起きているという話が何件かありましたが、 問題が解決しているスレッドは見当たりませんでした。 もし何か確認すべき点や、変更すべき点がございましたら、 どうかご教授頂ければと思います。 宜しくお願い致します。 【参考記事】 fgetcsv関数を文字化け対応 setlocaleの文字コード指定 http://pentan.info/php/fgetcsv_char.html csvファイルで商品を一括アップロードすると始めの文字が消える http://xoops.ec-cube.net/modules/newbb/viewtopic.php?viewmode=flat&order=ASC&topic_id=9318&forum=10 【追記】 csvをメモ帳で開いてダブルクオーテーションで囲ってアップした所、正しく登録する事が出来ました。 但し根本的な原因は未だ不明ですので、引き続き宜しくお願い致します。 【報告】 こちらの別スレッドにて解決済です http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=14651&forum=11&post_id=73208#forumpost73208 |
フラット表示 | 前のトピック | 次のトピック |
題名 | 投稿者 | 日時 |
---|---|---|
» [EC-CUBE 2.13] 商品情報CSVをアップすると日本語が消えてしまいます | chaco2008 | 2015/10/28 16:52 |