fixmint
TH

เครื่องหมายคำพูดโค้งและขีดทำโค้งพัง: วิธีแก้ให้เป็นแบบตรง

โดย · · อัปเดตเมื่อ 8 พฤศจิกายน 2026 · อ่าน 4 นาที

เครื่องหมายคำพูดโค้ง เครื่องหมายอัญประกาศเดี่ยวโค้ง ขีดสั้น (en dash) ขีดยาว (em dash) และช่องว่างแบบไม่ตัดคำ ดูเหมือนตัวอักษรธรรมดา แต่คอมพิวเตอร์มองเป็นคนละตัว โค้ด ไฟล์ CSV สูตรในสเปรดชีต และบรรทัดคำสั่งต้องการตัวอักษรแบบธรรมดา คำที่คัดลอกมาจะหยุดเป็นสตริง ขีดคู่หน้าตัวเลือกจะกลายเป็นขีดยาว และช่องว่างแบบไม่ตัดคำอาจทำให้โปรแกรมอ่านบรรทัดนั้นไม่ได้ ปรับอักขระให้เป็นแบบตรงก่อนวางลงในโค้ด แล้วทดสอบผลลัพธ์ในที่ที่จะใช้งานจริง

แก้ข้อความที่วางมาข้อความที่วางมามีบรรทัดขาดช่วงใช้ฟรี

อักขระเหล่านี้มาจากไหน

โปรแกรมประมวลผลคำและอีเมลหลายตัวจะเปลี่ยนเครื่องหมายคำพูดแบบตรงเป็นแบบโค้งขณะที่คุณพิมพ์ เรียกว่าสมาร์ทควอทส์ (smart quotes) Word ยังเปลี่ยนขีดคู่เป็นขีดยาวได้ด้วย ส่วนเว็บไซต์และตัวแก้ไขบางตัวใส่ช่องว่างแบบไม่ตัดคำ (U+00A0) ซึ่งทำให้คำสองคำอยู่บรรทัดเดียวกัน อักขระเหล่านี้ถูกต้องสำหรับการจัดรูปแบบตัวพิมพ์ จึงปรากฏขึ้นมา แต่ผิดสำหรับทุกอย่างที่โปรแกรมต้องอ่าน

อะไรเสีย และเสียที่ไหน

ที่ไหนสิ่งที่ผิดพลาด
โค้ดต้นฉบับเครื่องหมายคำพูดโค้งไม่ใช่ตัวปิดสตริง และหลายภาษาไม่ยอมรับเครื่องหมายคำพูดโค้งหรือช่องว่างแบบไม่ตัดคำนอกสตริง
คำสั่งเชลล์ขีดสั้นที่พิมพ์เป็น en dash ไม่ใช่ตัวบอกตัวเลือก โปรแกรมจึงเห็นเป็นอาร์กิวเมนต์ที่ไม่รู้จัก
ไฟล์ CSVตัวแยกข้อมูลจะครอบฟิลด์ด้วยเครื่องหมายคำพูดคู่แบบตรง ดังนั้นเครื่องหมายคำพูดโค้งจะไม่ป้องกันเครื่องหมายจุลภาคภายในฟิลด์
สูตรในสเปรดชีตเครื่องหมายคำพูดโค้งกลายเป็นส่วนหนึ่งของข้อความ หรือสูตรแจ้งข้อผิดพลาด
JSONเครื่องหมายคำพูดโค้งไม่ใช่ตัวปิดสตริงที่ถูกต้อง ตัวแยกวิเคราะห์จึงล้มเหลว

กฎการใส่เครื่องหมายคำพูดที่ไฟล์ CSV ใช้ ดูได้ในคู่มือ CSV เป็น JSON

ปรับให้เป็นแบบตรงใน fixmint

มีเครื่องมือสามตัวที่ครอบคลุมกรณีที่พบบ่อย และแต่ละตัวจัดการอักขระคนละชุด

  1. เครื่องหมายคำพูดโค้ง เปิดแก้ข้อความที่วางมา แล้วติ๊ก ปรับเครื่องหมายคำพูดโค้งให้เป็นแบบตรง เครื่องมือจะเปลี่ยนเครื่องหมายอัญประกาศเดี่ยวโค้งและเครื่องหมายอะpostrophe โค้งเป็นเครื่องหมายอัญประกาศเดี่ยวแบบตรง และเปลี่ยนเครื่องหมายอัญประกาศคู่โค้งเป็นเครื่องหมายอัญประกาศคู่แบบตรง ขีดจะไม่ถูกแตะต้อง ตัวเลือกอื่น เช่น ตัดช่องว่างหัวท้ายบรรทัดและยุบช่องว่างซ้ำ ถูกติ๊กไว้เป็นค่าเริ่มต้นอยู่แล้ว
  2. ขีด จุดไข่ปลา และช่องว่างแปลก ๆ เปิดลบอักขระที่มองไม่เห็น แล้วติ๊ก แปลงเครื่องหมายคำพูดโค้ง ขีดสั้น/ขีดยาว และ … ให้เป็น ASCII ธรรมดาด้วย ขีดจะกลายเป็นขีดเดียว และจุดไข่ปลากลายเป็นจุดสามจุด ช่องว่างแบบไม่ตัดคำจะกลายเป็นช่องว่างปกติเป็นค่าเริ่มต้น มุมมองที่ทำเครื่องหมายจะแสดงว่าแต่ละการเปลี่ยนแปลงเกิดขึ้นตรงไหน
  3. อักขระหรือวลีเดียว เปิดค้นหาและแทนที่ข้อความ ปล่อย Regex ไว้ไม่เลือก แล้วพิมพ์อักขระในช่อง Find และพิมพ์แบบธรรมดาในช่อง Replace เมื่อปิด Regex ช่อง Find จะจับคู่ตามตัวอักษรตรง ๆ เครื่องหมายคำพูดโค้งจึงจับคู่กับตัวมันเองเท่านั้น

นี่คือผลของเครื่องมือตัวที่สองกับข้อความที่วางมาทั่วไป:

ก่อนหลัง
“Hello,” she said."Hello," she said.
It’s done.It's done.
—verbose-verbose

แถวสุดท้ายแสดงข้อจำกัด ขีดแต่ละขีดจะกลายเป็นขีดเดียว ดังนั้นขีดคู่ที่โปรแกรมประมวลผลคำรวมเป็นขีดยาวหนึ่งขีดจะกลับมาเป็นขีดเดียว ให้แก้ตัวเลือกอย่าง --verbose ด้วยตนเองหลังการแปลง

วางผลลัพธ์ในที่ที่จะใช้งาน แล้วทดสอบตรงนั้น การทำให้เป็นแบบตรงไม่เปลี่ยนความหมายของข้อความ ดังนั้นการรันผ่านคือการตรวจสอบที่แท้จริง

ตรวจสอบผลลัพธ์

รันข้อความที่ปรับแล้วผ่าน ลบอักขระที่มองไม่เห็น อีกครั้ง แล้วอ่านมุมมองที่ทำเครื่องหมาย เครื่องหมายใดที่ยังเหลืออยู่แสดงว่าเป็นอักขระที่รอบแรกไม่ได้ครอบคลุม เช่น ช่องว่างความกว้างศูนย์หรือช่องว่างแปลก ๆ มุมมองจะบอกตำแหน่งของแต่ละตัว คุณจึงแก้ได้ตรงที่

อักขระเหล่านี้ดูเหมือนกันเกือบทุกประการบนหน้าจอ การตรวจด้วยสายตาจึงพลาดได้ เครื่องหมายคำพูดแบบตรงกับแบบโค้งต่างกันเล็กน้อยในรูปทรง และขีดสั้นดูเหมือนขีดในฟอนต์จำนวนมาก ให้ทดสอบข้อความ ไม่ใช่ทดสอบด้วยตา

เมื่อไม่ควรปรับให้เป็นแบบตรง

ให้คงเครื่องหมายคำพูดโค้งและขีดไว้ในข้อความที่คนอ่านบนสิ่งพิมพ์หรือหน้าเว็บ เพราะนั่นคือการจัดรูปแบบตัวพิมพ์ที่ถูกต้อง ปรับให้เป็นแบบตรงเฉพาะข้อความที่จะเข้าไปในโค้ด CSV สูตร หรือคำสั่ง สำหรับข้อความที่คุณเขียนในโปรแกรมประมวลผลคำ ให้ปิดตัวเลือกสมาร์ทควอทส์ไว้หากคุณจะวางข้อความนั้นในโค้ดภายหลัง

กรณีพิเศษ

  • เครื่องหมายคำพูดผสมกัน เอกสารอาจมีทั้งเครื่องหมายคำพูดโค้งและแบบตรงปนกัน รันขั้นตอนการทำให้เป็นแบบตรงหนึ่งครั้ง แล้วค้นหาผลลัพธ์เพื่อดูว่ามีตัวใดเหลืออยู่ เพราะแหล่งที่มาต่างกัน
  • เครื่องหมายอะพอสทรอฟีในคำ เครื่องหมายอะพอสทรอฟีโค้งในคำย่อจะกลายเป็นแบบตรง ซึ่งเป็นสิ่งที่โค้ดส่วนใหญ่คาดหวัง ตรวจคำย่อที่ปรากฏอยู่ภายในสตริงด้วย
  • เก็บต้นฉบับไว้ การทำให้เป็นแบบตรงทำได้ทางเดียว เครื่องหมายคำพูดแบบตรงไม่สามารถบอกได้ว่ามาจากเครื่องหมายคำพูดโค้งตัวไหน จึงควรเก็บเอกสารต้นฉบับไว้ และทำการเปลี่ยนแปลงบนสำเนา
  • ขีดในประโยค ขีดยาวที่ใช้แบ่งจังหวะในประโยคจะกลายเป็นขีดเดียว เช่น "wait — stop" จะกลายเป็น "wait - stop" พิมพ์ใหม่ด้วยมือหากข้อความนั้นมีไว้อ่าน ไม่ใช่ใช้ในโค้ด
  • อักขระที่มองไม่เห็น ข้อความที่วางมาอาจมีช่องว่างความกว้างศูนย์ด้วย ซึ่งไม่ใช่เครื่องหมายคำพูด แต่ทำให้โค้ดพังในลักษณะคล้ายกันคู่มืออักขระที่ซ่อนในข้อความครอบคลุมเรื่องนี้

แปลจาก ฉบับภาษาอังกฤษ ด้วยความช่วยเหลือของ AI

ความคิดเห็น

    ยังไม่มีความคิดเห็น มาเป็นคนแรกกันเลย

    คะแนนของคุณ (ไม่บังคับ)

    อีเมลของคุณจะไม่ถูกแสดงหรือเก็บไว้

    ปกของ How to Remain Valuable When Intelligence Becomes CheapHow to Remain Valuable When Intelligence Becomes Cheap

    224 หน้าว่าด้วยข้อได้เปรียบของมนุษย์ ด้านเศรษฐกิจ และด้านกลยุทธ์ ที่ยังคงหายากแม้ AI จะทำงานด้านการคิดได้เกือบทั้งหมด

    $3.84ซื้อบน Gumroadฉบับภาษาอังกฤษ