Kesalahan Query dari Microsoft Word Copy/Paste ke Form PHP

Basis data kami menerima ISO-8859-1, formulir kami dibungkus dengan accept-charset=ISO-8859-1, tetapi ketika pengguna menempelkan dari Word ke salah satu bidang teks kami, beberapa karakter hilang. Kami mendapatkan karakter kacau seperti tergantung pada apa yang mereka salin.

Misalnya, kotak pertanyaan ditampilkan saat menempelkan daftar poin yang menggunakan poin empat berlian.

Bagaimana cara memastikan karakter ini tidak muncul di bidang, atau setidaknya tidak melewati fungsi pemformatan kita?


person Phaelin    schedule 14.05.2015    source sumber
comment
mungkin lebih merupakan masalah font daripada masalah charset... hanya sebuah pemikiran...   -  person dbinns66    schedule 14.05.2015
comment
@ dbinns66 Benar, melihat poin-poin yang dipilih, itu muncul sebagai Wingdings. Namun saya tidak yakin hal ini benar untuk setiap kesalahan kueri yang kami terima. Sebagian besar karakter ditangani dengan baik, jarang sekali kami mendapatkan kesalahan kueri untuk ini, tetapi setiap kali itu berasal dari sampah salin/tempel Word. Saya kira saya harus mempertimbangkan untuk menangani salinan/tempel Wingdings setidaknya.   -  person Phaelin    schedule 14.05.2015


Jawaban (1)


Dugaan saya adalah kutipan mewah yang ditakuti yang digunakan Word. Rangkaian karakter Anda tidak mendukung tanda kutip berbentuk 6 atau 9 (yang saya sebut "tanda kutip mewah").

Jika Anda dapat mengganti rangkaian karakter Anda dengan UTF8, semuanya akan berfungsi. Jika tidak, Anda perlu membersihkan input salin-tempel dan mengganti karakter apa pun yang tidak didukung oleh rangkaian karakter database Anda.

Sunting: Saya sedikit salah membaca postingan Anda, tapi menurut saya masalahnya serupa dengan yang saya posting di atas. Karena formulir Anda disetel untuk menerima ISO-8859-1 maka saya yakin teksnya kacau bahkan sebelum sampai ke kode pemrosesan formulir Anda. Mungkin menghapus atribut accept-charset formulir Anda untuk mendukung simbol yang ditempel, lalu membersihkan sisi server sebelum Anda memasukkannya ke dalam database.

person The Maniac    schedule 14.05.2015
comment
Untungnya, kami menangani penawaran menarik. Sepertinya kami tidak menangani apa pun yang disalin dan ditempel dari font Wingdings. Saya akan mengedit pertanyaan awal untuk menambahkan kemungkinan ini. - person Phaelin; 14.05.2015