メインコンテンツに移動

メインナビゲーション

  • ホーム
  • サイトマップ
  • ビデオ
  • ご連絡

パンくず

  • ホーム
  • Feeds TamperにUTF-8エンコーダープラグイン追加

Feeds TamperにUTF-8エンコーダープラグイン追加

drupal
drupal
feeds
customization

インストールされたモジュール

  • Feeds : 7.x-2.0
  • Feeds Tamper : 7.x-1.0

Feeds Tamperが文字コード変更機能はない

  • Excelで作成したcsvファイルがShift-JISコードになる
  • DBのエンコードがUTF-8を指定してるため、Feedsでcsvデータをインポート時にDBエラーが発生する
  • csvファイルインポート時に使用するFeeds Tamperに文字コード変換機能がない
  • いろいろ調べて、Feed TamperにUTF-8に変換プラグイン(Feeds Tamper UTF-8 Encode)があることが分かった、さっそくチェックアウトして、サーバーにインストールした
  • Feeds Tamperのプラグイン設定画面でUTF-8変換項目がメニューに現れた
  • 実際にデータをインポートしてみたら、データインポートができたが、インポートされた文字が化けっている

Feeds Tamper UTF-8 Encodeプラグインを修正

  • Feeds Tamper UTF-8 Encodeが比較的にシンプルで修正しやすい
  • sites/all/feeds_temper_utf_8_encode/plugins/utf8_encode.incにコード変換ロジックがうまく作動していないようで: 
     /**
     * Encode the field and return the encoded value.
     */
    function feeds_tamper_utf8_encode_callback($result, $item_key, $element_key, &$field, $settings, $source) {
    //  $field = utf8_encode($field);
    	$field = iconv(null, 'utf-8', $field);
    }
     
  • 上記コードを以下のように修正
    /**
     * Encode the field and return the encoded value.
     */
    function feeds_tamper_utf8_encode_callback($result, $item_key, $element_key, &$field, $settings, $source) {
    //  $field = utf8_encode($field);
        $field = iconv(null, 'utf-8', $field);
    }
  • 修正したプラグインはここからダウンロードができる

 

添付 サイズ
feeds_tamper_utf_8_encode.zip (11.18 KB) 11.18 KB
drupal
feeds
module usage

注意点:Drupalのモジュール(Feeds)の設定が間違うと手動でデータインポートができなくなります

  • 環境:Drupal7.54、Feeds7.x-3.0
  • やりたいこと:手動でデータをインポート(例:csvファイルからのインポートなど)
  • Feedの基本設定のところある二か所をチェックしないと手動でのインポートができない
    • 添付するコンテンツタイプ:スタントアローンのフォームを使う
    • 投稿時にインポート
      Drupalのモジュール(Feeds)の設定が間違うと手動でのインポートができない
    • 初期としてはこの二つ設定を有効にしています
  • ちなみに、「投稿時にインポート」を無効の場合、バッチでデータインポートすることになります(バッチの設定が必要)
  • 添付するコンテンツタイプ:「スタントアローンのフォームを使う」以外の選択肢を選択すると、インポート画面(ホーム » インポート)に当該インポーターはありません

手動でインポートできないときに画面上に「インポートされた項目はありません」が表示されます

  • 「投稿時にインポート」オプションが無効の場合、手動でデータインポートはできません
  • インポートデータがあるにはかかわらず、画面上に「インポートされた項目はありません」として表示されます
  • バッチにインポートジョブを入れたメッセージはありません
ホーム

古松

検索

Article Category

  • apache(7)
  • css(19)
  • drupal(295)
  • Electron(4)
  • html(34)
  • javascript(27)
  • laravel(4)
  • linux(5)
  • macOS(2)
  • mysql(13)
  • php(19)
  • python(4)
  • SEO(12)
  • video(72)
  • Visual Studio Code(4)
  • windows(13)
  • wordpress(32)