না, এটি HTML এর মধ্যে থেকে সম্ভব নয় not সার্ভারের প্রতিক্রিয়া শিরোনাম নথির মেটা-ট্যাগের চেয়ে বেশি গুরুত্ব দেয়। এটি 5.2.2 তে বর্ণিত হিসাবে অক্ষর এনকোডিং নির্দিষ্টকরণ - এইচটিএমএল 4.01 নির্দিষ্টকরণ :
সংক্ষেপে, ডকুমেন্টের অক্ষর এনকোডিং নির্ধারণ করার সময় (সর্বোচ্চ অগ্রাধিকার থেকে সর্বনিম্ন পর্যন্ত) মেনে চলা ব্যবহারকারী এজেন্টগুলি অবশ্যই নিম্নলিখিত অগ্রাধিকারগুলি পালন করবেন:
- একটি "কন্টেন্ট-টাইপ" ক্ষেত্রে একটি HTTP "চরসেট" পরামিতি।
- "কন্টেন্ট-টাইপ" এ "HTTP সমতুল্য" সেট সহ একটি মেটার ঘোষণা এবং "চারসেট" এর জন্য একটি মান সেট।
- চরসেট অ্যাট্রিবিউট সেট করে এমন কোনও উপাদান যা একটি বাহ্যিক সংস্থানকে মনোনীত করে।
সুতরাং এটির জন্য সার্ভার-সাইডে কনফিগারেশন প্রয়োজন। তবে অধ্যায়টি যেমন চলছে:
ব্যবহারকারী এজেন্টরা এমন একটি প্রক্রিয়া সরবরাহ করতে পারে যা ব্যবহারকারীদের ভুল "চরসেট" তথ্য ওভাররাইড করতে দেয়। যাইহোক, যদি কোনও ব্যবহারকারী এজেন্ট এই জাতীয় প্রক্রিয়া সরবরাহ করে তবে এটি কেবল ব্রাউজিংয়ের জন্য এবং সম্পাদনার জন্য নয়, একটি ভুল "চরসেট" পরামিতি দ্বারা চিহ্নিত ওয়েব পৃষ্ঠাগুলি তৈরি এড়াতে হবে should
আমার ক্ষেত্রে সার্ভারের সামগ্রী-প্রকারের শিরোনামটিতে সঠিক মাইম-টাইপ রয়েছে তবে ভুল অক্ষর রয়েছে ।
দেখা গেল, আমার অ্যাপাচি httpd কনফিগারেশনটি AddDefaultCharset
চালু করেছে যা ; charset=ISO-8859-1
অংশটি যুক্ত করছে । ওয়েবসাইটগুলির মূল ডিরেক্টরিতে .htaccess
নিম্নলিখিত লাইনটি স্থাপন করা :
AddDefaultCharset Off
চরসেটের তথ্য সরানো হয়েছে:
$ curl -I http://example.com/file.html
HTTP/1.1 200 OK
Date: Fri, 19 Oct 2012 15:07:52 GMT
...
Content-Type: text/html
(শেষ লাইন দেখুন, কোন ; charset=...
অংশ নেই)। এটি এইচটিএমএল মেটা ট্যাগের সংমিশ্রণে উল্লিখিত ব্রাউজারের হিউরিস্টিককে মেটা ট্যাগ থেকে চরসেটটি গ্রহণ করতে ট্রিগার করে । ওয়েবসাইটটি সঠিকভাবে ডিকোড করা হয়েছে।
এর সাথে পরীক্ষিত:
- গুগল ক্রোম বনাম 22.0.1229.94
- ফায়ারফক্স বনাম 16.0.1
- লিংক সংস্করণ 2.8.7rel.1 (05 জুলাই ২০০৯)
এই তিনটি ব্রাউজারের আসল কনফিগারেশন এবং এখন কাজ করার ক্ষেত্রে সমস্যা ছিল (সমস্ত ফেডোরা 17 তে)।
- অপেরা 12.02
- ইন্টারনেট এক্সপ্লোরার 6 (উইন এক্সপি এসপি 3)
প্রথম জায়গায় সমস্যা হয়নি। উভয়ই সার্ভার থেকে আইএসও -8859-1 সেটিংসের তুলনায় মেটা-ট্যাগ থেকে ইউটিএফ -8 পছন্দ করছিলেন ।
ইউটিএফ -8 সমর্থন করে না তাই সার্ভার সেটিং এবং মেটা-ট্যাগ নির্বিশেষে সর্বদা ওয়েস্টার্ন (ল্যাটিন 1) বেছে নেওয়া হয় ।