サポート » 使い方全般 » カスタムフィールドへの機種依存文字の登録について

  • 解決済 mk20180227

    (@mk20180227)


    ご助言をお願いいたします。

    カスタムフィールドを管理するプラグインの管理ページにて、セレクトボックスやチェックボックスのラベル側に機種依存文字を記入し、保存を行うとフィールドの編集状態が保存されなかったり、フィールドタイプがリセットされてしまいます。
    再現性があるのですが、サーバ、プラグイン、WordPressのいずれの問題なのか切り分けが難しくて困っております。

    ACFのチェックボックスの「ラベル」に機種依存文字の「®」と「™」を使用していました。(windows 10の「r」と「トレードマーク」変換できる記号です。)
    2017年10月時点では問題なくフィールドの編集・保存が行えていました。
    先日ACFの管理画面でフィールドの編集を行い保存をしたところ「®」と「™」の含まれる「チェックボックス」のフィールドタイプがリセットされて「テキスト」になってしまいました。
    フィールドタイプがリセットされたのは「®」と「™」が記入されているフィールドです。
    上記は運用中のブログでしたので、既存記事の異常が発生したフィールドの「チェック」していた「value」の内容は消えておらず残っていました。

    【上記の環境】
    WordPress 4.9.4(マルチ)
    Advanced Custom Fields PRO 5.5.14
    PHP 5.3.3
    エックスサーバー

    いくつかのサーバとXAMPPでテストを行いました。
    手順は省略しますがACFのチェックボックスを使用し「Rマーク」と「トレードマーク」が含まれるか含まれないかで挙動が変化しました。
    1.「Rマーク」は保存ができたりできなかったりしました。これはなぜかよくわかりませんでした。
    2.「トレードマーク」はいずれのテスト環境でもフィールドタイプがリセットされました。
    3.XAMPPのローカル環境ではいずれも再現されませんでした。

    【テストした環境】
    WordPress 4.9.4(マルチ OR シングル)
    Advanced Custom Fields PRO 5.5.14
    PHP 5.3.3 or 5.6.6
    エックスサーバー、ファーストサーバー、XAMPP5.6.33 / PHP 5.6.33

    問題の発生した環境のサーバでも、新規でシングルのWordPressをインストールし、マルチバイトのプラグインとACFのみインストールした状態で試しました。
    こちらは「Rマーク」単体の登録も保存がされず「トレードマーク」はフィールドタイプがリセットされました。

    現象がなかった2017年10月時点では、機種依存文字はクライアントの要望のため使わざるを得ない状況でした。
    あと何を調べれば良いでしょうか。
    よろしくお願いいたします。

9件の返信を表示中 - 1 - 9件目 (全9件中)
  • それぞれの環境でWordPress標準のカスタムフィールドに問題の文字を入力した場合どうなるか、ですかね。

    トピック投稿者 mk20180227

    (@mk20180227)

    manbo様
    ご助言ありがとうございました。

    機種依存文字は記事本文部分以外の使用はNGで行きたいのが本音ですが…。
    中身を開けて理解できるわけではないので、もう少しだけお付き合いください。

    【環境A】
    WordPress 4.9.4(シングル)
    プラグイン マルチバイトパッチ以外OFF
    PHP 5.3.3
    エックスサーバー

    【環境B】
    WordPress 4.9.4(マルチ)
    プラグイン マルチバイトパッチ以外OFF
    PHP 5.6.33
    XAMPP 5.6.33

    ※A・Bともにテーマはtwentyシリーズを適用

    記事投稿でカスタムフィールドの「名前」と「値」に

    • 『カスタムフィールド』と『値』
    • 『カスタムフィールド®』と『値®』
    • 『カスタムフィールド™』と『値™』

    を記入し記事の公開を行ったところフィールドの登録ができました。
    しかし、後に続けて「®」を「🄬」に変えた項目を新規追加すると「カスタムフィールドの値を入力してください。」とエラーが表示されました。

    話が変わりますが、管理画面を拡張してカスタムフィールドを管理するプラグインは他にもあります。
    環境AとBに「Custom Field Suite 2.5.12」をインストールしました。
    フィールドタイプを「セレクトボックス」にし「red : 赤®」「red2 : 赤™」「red3 : 赤」で一つずつ追加していきました。

    環境A
    保存…成功
    フィールドタイプのリセット…なし
    ※「🄬」を続けて登録すると編集内容が保存されなかった。

    環境B
    保存…成功
    フィールドタイプのリセット…なし
    ※「🄬」を続けて保存することができた。

    なんとなくですが、機種依存文字の処理はプラグイン毎で異なるということでしょうか。

    機種依存文字は記事本文部分以外の使用はNGで行きたい

    カスタムフィールドだから記事本文じゃないですが?
    とりあえず問題を切り分ける必要があると思ったのでWordPress標準のカスタムフィールドと書いたまでです。

    しかし、後に続けて「®」を「🄬」に変えた項目を新規追加すると「カスタムフィールドの値を入力してください。」とエラーが表示されました。

    これはどちらの環境でもですか?

    トピック投稿者 mk20180227

    (@mk20180227)

    manbo様
    ご回答ありがとうございます。

    >> カスタムフィールドだから記事本文じゃないですが?

    WordPress管理画面内で機種依存文字を記入するエリアを記事本文のみにした運用ルールを設けたいという意味でして今回の問題とは別のことです。紛らわしい言い回しで失礼いたしました。こちらはお忘れください。

    標準のカスタムフィールドで「®」と「🄬」が同時に保存できなかったのは環境Aです。

    2017年10月辺りでDB周りを弄ったか何かが原因ではないですか?
    おそらくXSERVERのDBのwp_postmetaテーブルのmeta_keyとmeta_valueの文字コードがutf8_general_ciとかじゃないかと思いますがutf8mb4_unicode_ciにでも変更してみてください。
    尚、念のためDBのバックアップを取ってから行うか、同一のサーバー内で同一の構成のテスト環境を作り、そこで試験して問題が無ければ本番に適用した方が良いかもしれません。

    トピック投稿者 mk20180227

    (@mk20180227)

    manbo様
    ご回答ありがとうございます。

    最後にACFのフィールドグループに機種依存文字の入ったチェックボックスのフィールドを設定したのが2017年10月辺りで、それ以降はWordPress・プラグインのアップデート以外は仕組みに係ることは全く手を付けずに平常運用(記事の更新など)していました。

    エンジニアに管理画面でDBに変更があったか確認した後にテスト環境を試してみようと思います。
    #post-225478を投稿後に別途契約しているエックスサーバのWP上でも標準のカスタムフィールドで「®」と「🄬」が同時に保存できなかったので、そちらも調べてみます。(ACFも機種依存文字が弾かれる同じ症状が出ています)

    トピック投稿者 mk20180227

    (@mk20180227)

    こんにちは

    manbo様の#post-225489の文字コード変更後の挙動についてテストしました。
    環境AのDBテーブルの文字コードを変更し、標準カスタムフィールドとACFの設定を試みましが結果に変化はありませんでした。

    DB内のACFの項目が保存されていたテーブルに、直接「™」と「🄬」を書き込んで保存してもらいました。

    • 「™」は保存後、ACF管理画面を確認したところ、編集モードに入る前のテーブル部分のフィールドタイプのテキストが真っ白に(平常は選択しているフィールドタイプの名称が表示される)
    • 「🄬」は保存できていなかった

    サーバ管理を担当しているエンジニアにDBの設定の変更について確認しましたが、全く設定は変えていないとのことです。(※今回のDBテーブルの文字コード変更は除く)

    こんにちは

    manbo様の#post-225489の文字コード変更後の挙動についてテストしました。
    環境AのDBテーブルの文字コードを変更し、標準カスタムフィールドとACFの設定を試みましが結果に変化はありませんでした。

    DB内のACFの項目が保存されていたテーブルに、直接「™」と「🄬」を書き込んで保存してもらいました。

    「™」は保存後、ACF管理画面を確認したところ、編集モードに入る前のテーブル部分のフィールドタイプのテキストが真っ白に(平常は選択しているフィールドタイプの名称が表示される)
    「🄬」は保存できていなかった
    サーバ管理を担当しているエンジニアにDBの設定の変更について確認しましたが、全く設定は変えていないとのことです。(※今回のDBテーブルの文字コード変更は除く)

    これは日記でしょうか?
    経過のみで自身で何か試みた等の努力が見えませんが、その問題は貴方が抱えている問題であり自分には関係ありませんし、解決できようが出来なかろうが自分は痛くも痒くもないという事を書いておきます。

    DBは触っていないとのことですが、確か5.0があったはずですが現在は5.5しか選択肢が無い?状態のようですが、5や4だったのを変更したとかは無いのでしょうか。
    【重要】「MySQL 4」データベース提供終了のお知らせ
    https://www.xserver.ne.jp/news_detail.php?view_id=3577

    XSERVERで問題の文字の保存可不可を試したところ確かにこちらでも出来ませんでした。文字コード変更前は保存できなかったのが変更後は文字化するので無意味ですが一応は保存はできるようになりました。
    そちらもこちらもローカル環境では問題ないようなのでWordPress自体には問題点は無く、サーバー側の問題だと思いますが原因は追究出来ませんでした。
    エンジニアが在籍しているのならエンジニアに調査させるなりサーバーのサポートに問い合わせされるなりしてみてください。

    意図的に&を大文字にしていますが、以下で逃げるのも手段の一つかと思います。
    🄬 ™

    トピック投稿者 mk20180227

    (@mk20180227)

    manbo様

    経過のみで自身で何か試みた等の努力が見えませんが、その問題は貴方が抱えている問題であり自分には関係ありませんし、解決できようが出来なかろうが自分は痛くも痒くもないという事を書いておきます。

    御もっともです。

    XSERVERで問題の文字の保存可不可を試したところ確かにこちらでも出来ませんでした。文字コード変更前は保存できなかったのが変更後は文字化するので無意味ですが一応は保存はできるようになりました。
    そちらもこちらもローカル環境では問題ないようなのでWordPress自体には問題点は無く、サーバー側の問題だと思いますが原因は追究出来ませんでした。

    プラグイン、WordPress、サーバ、いわゆる「おま環」のいずれか判断がつけられない知識不足で申し訳ありませんでした。お手数をおかけしました。

    問い合わせ先のアタリをつけたかったのでこちらに書き込んだのですが

    • サーバ側に問題がある場合の調べ方の片鱗
    • 「おま環」ではないかもしれない

    ということが分かっただけでも僥倖です。
    辛抱強くお付き合いくださり、誠にありがとうございました。

9件の返信を表示中 - 1 - 9件目 (全9件中)
  • トピック「カスタムフィールドへの機種依存文字の登録について」には新たに返信することはできません。