เมื่อใดก็ตามที่ฉันใช้ PHP 7.2 เพื่อพิมพ์สตริงไปยังคอนโซลและมันมีอักขระยูนิโค้ดไปที่คอนโซลมันไม่แสดงอย่างถูกต้อง ตัวอย่างเช่น £
แสดงเป็น ┬ú
.
มันไม่ใช่คอนโซลอย่างที่ฉันทำได้ echo £
โดยไม่มีปัญหา
ไม่ใช่รุ่น PHP การอัปเกรดเป็นเวอร์ชั่นล่าสุดที่มีความเสถียรหรือลดระดับลงจนถึงเวอร์ชั่น 5.6 ไม่สามารถแก้ไขได้ ฉันเคยใช้อีมูเลเตอร์ออนไลน์ที่ใช้รุ่นเดียวกันและพวกเขาไม่มีปัญหานี้ถึงแม้ว่าพวกเขาจะส่งออกไปยังหน้าเว็บ อย่างไรก็ตามมันไม่เกี่ยวข้องเพราะฉันรู้ว่าสิ่งนี้เคยทำงานใน 5.6 และตอนนี้ไม่ได้
ปัญหาเริ่มชัดเจนเมื่อฉันพยายามจับข้อยกเว้นซึ่งมีเครื่องหมาย£อยู่ในสตริง ไม่มีอะไรจะเกิดขึ้น สคริปต์จะหยุดและจะไม่มีข้อผิดพลาดปรากฏขึ้น ฉันใช้เวลากว่าหนึ่งชั่วโมงในการค้นพบว่ามีบางอย่างเกี่ยวกับสัญลักษณ์£ในสตริงที่หยุดการทำงานของ PHP ในแทร็กดังนั้นปัญหาที่เกิดขึ้นกับ PHP คือ - ฉันไม่รู้
ใครบ้างมีความคิดเกี่ยวกับสิ่งที่อาจก่อให้เกิดนี้
echo £
ใช้คอนโซล ไม่ได้พิสูจน์อะไรเลยเนื่องจากเป็นการจัดการการเข้ารหัสอินพุตและเอาต์พุตเหมือนกัน