質問 > 管理機能 > お問い合わせに絵文字を入力された場合について |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
akiakihi |
投稿日時: 2019/7/9 9:51
対応状況: −−−
|
一人前 登録日: 2014/7/17 居住地: 兵庫県 投稿: 91 |
お問い合わせに絵文字を入力された場合について [EC-CUBE] 3.0.18
[レンタルサーバ]さくらインターネット [OS] Windows10 [PHP] PHP Version 7.3 [データベース] MySQL 5.7 [ブラウザ] Chrome ---------------------------------------------- ご注文時、お問い合わせ欄の文中に絵文字を入力された場合、 文字数制限が3000字となっていても、絵文字以降カットされて保存されてしまうことがわかりました。 (今回、絵文字以降の文章末尾にお届け日指定がされており、気づけずにお客様に御迷惑をおかけしてしまいました...) 管理画面上、絵文字以降カットされて保存されるため、 帳票印刷の際も文章が途中で切れた状態で印刷されてしまうのですが、 なんと、受注メールの方には、絵文字を含め全文が記載されておりました。 私のショップでは、商品梱包の際は帳票の情報がとても大切になっています。 また、お問い合わせに対するお返事を、帳票に直接手書きで書くことも多いので、帳票にはお問い合わせ全文が載っていて欲しいと思います。 スマホからのご注文が多くなってきた今日このごろ、お客様が絵文字を使われる機会もあるかと思います。 管理画面上で絵文字が表示されないまでも、せめて文章がカットされずに保存される方法があるようでしたら、ご教授いただけませんでしょうか? よろしくお願いいたしますm(_ _)m |
468 |
投稿日時: 2019/7/9 10:07
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: お問い合わせに絵文字を入力された場合について 私はまだ絵文字を問い合わせ欄に入力された事がなかったので、
そのような状態になる事を初めて知ったのですが、 データベース上には、絵文字及びその後の文字は格納されていますか? データベースに格納する際に絵文字以降の文字が失われているのか? データベースには含まれているが管理画面への呼出し時に文字が失われているのか? のタイミングによって、対応方法が変わってくると思います。
|
a-zumi |
投稿日時: 2019/7/9 10:14
対応状況: −−−
|
半人前 登録日: 2017/4/20 居住地: 投稿: 24 |
Re: お問い合わせに絵文字を入力された場合について dtb_order.noteカラムの文字コードをutf8mb4に変更してみてはいかがでしょうか?
https://alaki.co.jp/blog/?p=1814
|
akiakihi |
投稿日時: 2019/7/9 10:27
対応状況: −−−
|
一人前 登録日: 2014/7/17 居住地: 兵庫県 投稿: 91 |
Re: お問い合わせに絵文字を入力された場合について ◆468さま
返信ありがとうございます。 dtb_order messageに、絵文字以降、文字は格納されておりませんでした。 管理画面画から再度、同様の絵文字を使ってお問い合わせを保存すると、特にエラーがなく保存完了はするのですが、絵文字以降、文字が保存されませんでした ◆a-zumiさま ありがとうございます。 ご紹介いただいた方法をこれからやってみます。 |
akiakihi |
投稿日時: 2019/7/9 10:30
対応状況: −−−
|
一人前 登録日: 2014/7/17 居住地: 兵庫県 投稿: 91 |
Re: お問い合わせに絵文字を入力された場合について 今回使われた絵文字はこちらになります。
・・・と、こちらに貼り付けてみたのですが、こちらでも、投稿の確認画面上は絵文字が見えていても、実際に投稿すると絵文字以降文章が消えてしまうのですね^^; |
akiakihi |
投稿日時: 2019/7/9 12:47
対応状況: −−−
|
一人前 登録日: 2014/7/17 居住地: 兵庫県 投稿: 91 |
Re: お問い合わせに絵文字を入力された場合について よく分かっておらずすみません
とりあえず、 mysql> alter table dtb_order default character set utf8mb4; と mysql> alter table dtb_order modify message varchar(255) character set utf8mb4; だけを実施したところ、絵文字部分は????となり、絵文字以降の文字を表示、保存出来るようになりました。 他にしたほうがいい操作があれば、お手数ですが具体的にお教えいただけますと嬉しいです。 ちなみに、さくらのレンタルサーバーを使っており、デフォルトは以下のようになっていました。 mysql> show variables like '%char%'; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | ujis | | character_set_connection | ujis | | character_set_database | utf8mb4 | | character_set_filesystem | binary | | character_set_results | ujis | | character_set_server | utf8mb4 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+ 各テーブルのcharacterは全てutf8_unicode_ciになっていました。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |