حروف عربی/فارسی که با هم اشتباه گرفته می‌شوند

در برنامه‌نویسی رایانه و کار با داده‌ها و پایگاه‌های داده (از دیتابیس‌های ساده مانند اکسل تا داده‌های عظیم کشوری) یکی از چالش‌ها برای زبان فارسی، این است که تعدادی حرف با شکل نمایشی یکسان یا مشابه اما با شناسه یونیکد متفاوت وجود دارد که ممکن است به جای یکدیگر استفاده شوند.

یکی از مثال‌های معروف آن «ي» و «ی» هستند که اولی یای عربی است و چون زودتر از یای فارسی وارد کدپیج‌های سیستم‌عامل‌ها و چینش کیبوردها شده است، تقریبا در تمام داده‌های قدیمی به جای آن به کار رفته است. متاسفانه بعد از معرفی یونیکد 1.1 (ژوئن 1993) هم که هر دو حرف در آن معرفی شدند، به دلیل آنکه بعضی فناوری‌های قدیمی مثل فلش و جاوا هیچگاه درست یای فارسی را پشتیبانی نکردند، بسیاری از داده‌ها با این حرف ثبت شده است یا می‌شود.

و حالا مشکل این به‌کارگیری جابجای حروف هم‌شکل چیست؟ خب، متاسفانه یا خوشبختانه منطق رایانه شباهت ظاهری را نمی‌فهمد و حروف مشابه را از هم کاملا جدا می‌داند. حالا فرض کنید یک پایگاه داده از نام و نام خانوادگی افراد دارید و می‌خواهید کاربر نامی را به نرم‌افزار بدهد و در پایگاه داده جستجو کند. کاربر می‌نویسد «علی» و آن را جستجو می‌کند اما هیچ نتیجه‌ای پیدا نمی‌شود! چرا؟ چون کارمندی که نام‌ها را وارد کرده بود از یک سیستم پنتیوم با ویندوز 98 و فارسی‌ساز پارسا 99 استفاده می‌کرده که کیبورد فارسی آن فقط «ي» داشته 😂 پس «علی» نداریم بلکه «علي» داریم که از نظر حروفی با هم فرق دارند…

در این مطلب سعی می‌کنم تا حروفی که معمولا با یکدیگر اشتباه گرفته می‌شوند را قرار دهم تا در طراحی برنامه‌ها برای استاندارد‌سازی استفاده شود:

ادامه‌ی مطلب