خطای حرف م در apache
یکی از مشکلات رایج نرمافزارهای مختلف پشتیبانی حروف فارسی و کار با آنهاست که گاها در نرمافزارهای مختلف اینگونه خطا متداول است. در این نوشته قصد رفع مشکل کاراکتر “م” در زبان فارسی در آدرسهای آپاچی را داریم.
خطای حرف م در apache
در حالت عادی اگر چنین آدرسی را باز کنید خطای زیر را مشاهده میکنید:
http://localhost:8080/search/امیر

اما حالا برای رفع آن باید چه کرد..؟؟!!
راه حل:
ابتدا وارد هاست خود را پوشهی سایت خود بروید. سپس فایل htaccess در مسیر اصلی یا root سایت خود را باز کرده و ویرایش کنید.
خب در این فایل به دنبال کد زیر بگردید:
^(.*)$
و سپس آنرا با این کد تغییر دهید:
^([\s\S]*)$
خب حالا فایل را ذخیره کنید و به راحتی از مشکل بالا رهایی پیدا کنید. اما علت این مشکل این است که در واقع کاراکتر ‘م’ حروف فارسی را به عنوان یک کاراکتر کنترلی شناخته و یک کاراکتر حرف شناسایی نشده است. کاراکترهای کنترلی هم در url مجاز نیستند پس این خطا را به شما میدهد و در صورت ویرایش به شکل بالا این مشکل را دیگر نخواهید داشت.



















آیا میشه با وارد کردن کد یونیکد \uXXXX در مسیر از ایجاد این خطا جلوگیری کرد؟
بله ولی دلیلی نداره لطفا خطارو حل کنید.
آیا این خطا فقط برای حرف «م» پیش میاد یا هرحرف فارسی دیگه هم شناسایی نمیشه؟
فعلا تنها با این کاراکتر مشکل ایجاد شده است اگر در آینده مشکلات دیگری هم بود حتما روش حل آن را در سایت قرار میدهیم.
آیا برای حل این مشکل باید حتماً فایل .htaccess تنظیم شه یا راهحل سروری مثل utf8 شدن دایرکتوریها کافی است؟
باید انجام شود و کافی نیست.
خدا خیرت بده
خواهش میکنم.
لطفا از دیگر محتوای سایت هم دیدن کنید.
خیلی ممنون
نزدیک یک ساعت دنبال ایراد بودم که فهمیدم به حرف م حساسه!
البته من یک مقدار رو از طریق ajax از دیتابیس میخواستم که به این مشکل میخوردم
یکی از حسن های وبسایت ما این است که مشکلات و مواردی که برای خود ما پیش می آید را در همان لحظه به اشتراک می گذاریم.
تجربه ی رفع مشکل و کمک به دیگران بسیار ارزشمند هست.
خواهش می کنم.