ข้อผิดพลาดในการสืบค้นจาก Microsoft Word Copy/Paste ไปยังแบบฟอร์ม PHP

ฐานข้อมูลของเรายอมรับ ISO-8859-1 แบบฟอร์มของเราห่อด้วย accept-charset=ISO-8859-1 แต่เมื่อผู้ใช้วางจาก Word ลงในช่องข้อความช่องใดช่องหนึ่งของเรา อักขระบางตัวจะหายไป เราได้รับอักขระที่อ่านไม่ออก เช่น ขึ้นอยู่กับสิ่งที่พวกเขาคัดลอก

ตัวอย่างเช่น กล่องคำถามจะแสดงขึ้นเมื่อวางรายการสัญลักษณ์แสดงหัวข้อย่อยที่ใช้สัญลักษณ์แสดงหัวข้อย่อยสี่เพชร

ฉันจะแน่ใจได้อย่างไรว่าอักขระเหล่านี้จะไม่ปรากฏในฟิลด์ หรืออย่างน้อยก็ไม่ผ่านฟังก์ชันการจัดรูปแบบของเรา


person Phaelin    schedule 14.05.2015    source แหล่งที่มา
comment
อาจเป็นปัญหาแบบอักษรมากกว่าปัญหาชุดอักขระ... แค่ความคิด...   -  person dbinns66    schedule 14.05.2015
comment
@ dbinns66 จริง เมื่อดูที่สัญลักษณ์แสดงหัวข้อย่อยที่เลือก มันจะแสดงเป็น Wingdings อย่างไรก็ตาม ฉันไม่แน่ใจว่าสิ่งนี้จะเกิดขึ้นจริงกับทุกกรณีของข้อผิดพลาดในการสืบค้นที่เราได้รับหรือไม่ อักขระส่วนใหญ่ได้รับการจัดการอย่างดี เป็นเรื่องยากที่เราได้รับข้อผิดพลาดในการสืบค้นสำหรับสิ่งนี้ แต่ทุกครั้งที่มาจากการคัดลอก/วางขยะใน Word ฉันเดาว่าฉันควรพิจารณาการจัดการการคัดลอก/วาง Wingdings อย่างน้อยที่สุด   -  person Phaelin    schedule 14.05.2015


คำตอบ (1)


ฉันเดาว่ามันเป็นคำพูดแฟนซีที่น่าสะพรึงกลัวที่ Word ใช้ ชุดอักขระของคุณไม่รองรับเครื่องหมายคำพูดรูป 6 หรือ 9 (สิ่งที่ฉันเรียกว่า "เครื่องหมายคำพูดแฟนซี")

หากคุณสามารถเปลี่ยนชุดอักขระเป็น UTF8 ได้ ทุกอย่างควรจะใช้งานได้ มิฉะนั้น คุณจะต้องฆ่าเชื้ออินพุตที่คัดลอกและวางและแทนที่อักขระใดๆ ที่ชุดอักขระฐานข้อมูลของคุณไม่รองรับ

แก้ไข: ฉันอ่านโพสต์ของคุณผิดเล็กน้อย แต่ฉันคิดว่ามันเป็นปัญหาที่คล้ายกันกับสิ่งที่ฉันโพสต์ด้านบน เนื่องจากแบบฟอร์มของคุณได้รับการตั้งค่าให้ยอมรับ ISO-8859-1 ฉันพนันได้เลยว่าข้อความนั้นอ่านไม่ออกก่อนที่จะไปถึงโค้ดประมวลผลแบบฟอร์มของคุณด้วยซ้ำ อาจลบแอตทริบิวต์ accept-charset ของแบบฟอร์มของคุณเพื่อรองรับสัญลักษณ์ที่วาง จากนั้นฆ่าเชื้อฝั่งเซิร์ฟเวอร์ก่อนที่คุณจะแทรกลงในฐานข้อมูล

person The Maniac    schedule 14.05.2015
comment
โชคดีที่เรากำลังจัดการกับคำพูดที่หรูหรา ดูเหมือนว่าเราอาจไม่สามารถจัดการกับการคัดลอกและวางใดๆ จากฟอนต์ Wingdings ได้ ฉันจะแก้ไขคำถามเดิมเพื่อเพิ่มความเป็นไปได้นี้ - person Phaelin; 14.05.2015