তো সমস্যাটা কী,
এটি এমন একটি ’
( RIGHT SINGLE QUOTATION MARK
- ইউ + 2019) চরিত্র যা ইউটিএফ -8 এর পরিবর্তে সিপি -1252 হিসাবে ডিকোড করা হচ্ছে । আপনি না পরীক্ষা যদি এনকোডিং টেবিল, তাহলে আপনি দেখতে যে এই অক্ষর হল UTF-8 বাইট গঠিত হয় , এবং । আপনি না পরীক্ষা যদি সিপি-1252 কোড পৃষ্ঠার লেআউট , তাহলে আপনি ঐ বাইটের প্রতিটি অক্ষরের জন্য দাঁড়ানো দেখতে পাবেন , এবং ।0xE2
0x80
0x99
â
€
™
এবং আমি কীভাবে এটি ঠিক করতে পারি?
অক্ষরগুলি পড়তে, লিখতে, সঞ্চয় করতে এবং প্রদর্শন করতে সিপি -1222 এর পরিবর্তে ইউটিএফ -8 ব্যবহার করুন।
আমার <head>
ট্যাগ এবং আমার এইচটিটিপি শিরোলেখগুলিতে আমার কাছে সামগ্রী-প্রকারটি ইউটিএফ -8 এ সেট আছে :
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
এটি কেবলমাত্র ক্লায়েন্টকে নির্দেশ দেয় যা অক্ষরগুলি ব্যাখ্যা এবং প্রদর্শন করতে এনকোডিং ব্যবহার করে। অক্ষরগুলি পড়তে, লিখতে, সঞ্চয় করতে এবং প্রদর্শন করতে এনকোডিংয়ের জন্য এটি আপনার নিজস্ব প্রোগ্রামকে নির্দেশ দেয় না The সঠিক উত্তরটি সার্ভারের পাশের প্ল্যাটফর্ম / ডাটাবেস / প্রোগ্রামিং ভাষার উপর নির্ভর করে। মনে রাখবেন যে এইচটিটিপি রেসপন্স শিরোনামের মধ্যে একটি সেট এইচটিএমএল মেটা ট্যাগের চেয়ে বেশি। এইচটিএমএল মেটা ট্যাগটি কেবল তখনই ব্যবহৃত হত যখন পৃষ্ঠাটি HTTP এর পরিবর্তে স্থানীয় ডিস্ক ফাইল সিস্টেম থেকে খোলা হবে।
এছাড়াও, আমার ব্রাউজারটি এতে সেট করা আছে Unicode (UTF-8)
:
এটি কেবলমাত্র ক্লায়েন্টকে বাধ্য করে যা অক্ষরগুলি ব্যাখ্যা এবং প্রদর্শন করতে এনকোডিং ব্যবহার করে। তবে আসল সমস্যাটি হ'ল আপনি ইতিমধ্যে ’
ক্লায়েন্টের পরিবর্তে ক্লায়েন্টকে (ইউটিএফ -8 এ এনকোডড) প্রেরণ করছেন ’
। ক্লায়েন্টটি সঠিকভাবে ’
ইউটিএফ -8 এনকোডিং ব্যবহার করে প্রদর্শিত হচ্ছে । যদি ক্লায়েন্টটি ব্যবহারের জন্য ভুল নির্দেশনা দেওয়া হয়, উদাহরণস্বরূপ আইএসও -8859-1, আপনি সম্ভবত এর ââ¬â¢
পরিবর্তে দেখতে পেতেন ।
আমি একটি ডাটাবেস সহ এএসপি.এনইটি ২.০ ব্যবহার করছি।
এটি সম্ভবত আপনার সমস্যাটি রয়েছে is ডেটা দেখতে কেমন লাগে তা একটি স্বাধীন ডাটাবেস সরঞ্জাম দিয়ে আপনাকে যাচাই করতে হবে।
তাহলে ’
চরিত্র আছে, তারপর আপনি সঠিকভাবে ডাটাবেসের সাথে সংযোগ নেই। ইউটিএফ -8 ব্যবহার করতে আপনাকে ডাটাবেস সংযোগকারীকে বলতে হবে।
যদি আপনার ডাটাবেসটিতে থাকে ’
, তবে এটি আপনার ডেটাবেসটি গোলমেলে পড়েছে। সম্ভবত টেবিলগুলি ব্যবহারের জন্য কনফিগার করা হয়নি UTF-8
। পরিবর্তে, তারা ডাটাবেসের ডিফল্ট এনকোডিং ব্যবহার করে, যা কনফিগারেশনের উপর নির্ভর করে পরিবর্তিত হয়। এটি যদি আপনার সমস্যা হয় তবে সাধারণত ইউটিএফ -8 ব্যবহারের জন্য সারণীতে পরিবর্তন করা যথেষ্ট। যদি আপনার ডাটাবেস এটি সমর্থন করে না, আপনাকে টেবিলগুলি পুনরায় তৈরি করতে হবে। আপনি যখন টেবিলটি তৈরি করবেন তখন এনকোডিংটি সেট করা ভাল অনুশীলন।
আপনি সম্ভবত এসকিউএল সার্ভার ব্যবহার করছেন তবে এখানে কিছু মাইএসকিউএল কোড রয়েছে ( এই নিবন্ধটি থেকে অনুলিপি করা হয়েছে ):
CREATE DATABASE db_name CHARACTER SET utf8;
CREATE TABLE tbl_name (...) CHARACTER SET utf8;
যদি আপনার টেবিলটি ইতিমধ্যে ইউটিএফ -8 হয়, তবে আপনাকে আবার একটি পদক্ষেপ নেওয়া দরকার। কে বা কী সেখানে ডেটা রাখে। এটা যেখানে সমস্যা। একটি উদাহরণ হ'ল এইচটিএমএল ফর্ম জমা দেওয়া মানগুলি যা ভুলভাবে এনকোড / ডিকোডড।
সমস্যাটি সম্পর্কে আরও জানার জন্য এখানে আরও কয়েকটি লিঙ্ক রয়েছে: