mh darian
mh darian
خواندن ۱ دقیقه·۳ سال پیش

دلیل تبدیل کاراکتر های فارسی و عربی به لاتین در HTML

Html Charset Encoding
Html Charset Encoding

داشتم بر روی یک پروژه کار می کردم. نیاز داشتم که در JS با یک متنی فارسی، یک سری از کارها را انجام بدم. اما متن فارسی در Js به این شکل نمایش داده میشد.

"سلام علیک"


در حالی که باید می نوشت
"سلام علیک"
البته زمانی که این نوشته ها در مرورگر برای نمایش به کاربر رندر شود. درست نشان داده می شوند.اما در کد زمانی که می خوایم در جاوااسکریپت ازش استفاده کنیم. آنهارا انکود شده می بینیم.
این اتفاق هم به این دلیله که بخاطر باگ هایی که در مرورگر ها وجود داره. برای جلوگیری از مشکلات ناشناخته، HTML فقط به الفبای لاتین انکود میشه. بنابراین اگر ما به کارکتر های زبان های دیگه احتیاج داشتیم. می تونیم آنها encoder های سیستم را کمی شخصی سازی کنیم.
مثلا در DotNetCore برای افزودن کاراکتر های عربی، باید کد زیر را در متد ConfigureServices داخل کلاس startup.cs خودمون اضافه کنیم. و مشکل حل می شود.

services.AddSingleton<HtmlEncoder>(HtmlEncoder.Create(allowedRanges: new[] { UnicodeRanges.BasicLatin,UnicodeRanges.Arabic }));

امیدوارم این نکته بکارتون بیاد

با تشکر از توجه شما

اگر نکته ای بود خوشحال می شوم در میان بگذارید

داریان

htmlasp net coreبرنامه نویسیداریانفارسی
برنامه نویس وظیفه، سربازی کد نویس
شاید از این پست‌ها خوشتان بیاید