ডাটাবেস কনফিগারেশনের ক্ষেত্রে ল্যাটিন -1 ইউটিএফ -8 এর উপরে ব্যবহার করা উচিত?


65

আমি যে সংস্থার জন্য কাজ করি তার মধ্যে আমরা মাইএসকিউএল ব্যবহার করছি এবং আমরা রেল অন রেল ব্যবহার করে ক্লায়েন্ট-মুখী এবং অভ্যন্তরীণ অ্যাপ্লিকেশন উভয়ই তৈরি করি।

আমি এখানে কাজ শুরু করার সময়, আমি এমন কোনও সমস্যায় পড়েছিলাম যা আমি এর আগে কখনও পাইনি; প্রোডাকশন সার্ভারে ডেটাবেসটি ল্যাটিন -১ এ সেট করা হয়েছে যার অর্থ মাইএসকিউএল রত্ন যখনই সেখানে ব্যবহারকারীর ইনপুট থাকে সেখানে ইউটিএফ -8 অক্ষর অনুলিপি করে এবং ব্যতিক্রম করে।

আমার বস এগুলিকে "খারাপ চরিত্রগুলি" বলে যেহেতু তাদের বেশিরভাগই অন-প্রিন্টযোগ্য অক্ষর, এবং বলে যে আমাদের এগুলি ছড়িয়ে দেওয়া দরকার। আমি এটি করার কয়েকটি উপায় খুঁজে পেয়েছি, তবে শেষ পর্যন্ত আমরা এমন পরিস্থিতিতে পৌঁছেছি যেখানে কোনও ইউটিএফ -8 চরিত্রের প্রয়োজন ছিল। প্লাস এটি একটি ঝামেলা কিছুটা, বিশেষত যেহেতু এই সমস্যাটির জন্য আমি পড়ার একমাত্র সমাধান বলে মনে হয় কেবলমাত্র ইউটিএফ -8 এ ডেটাবেস সেট করা (আমার কাছে বোধগম্য হয়)।

লাতিন -১ এর সাথে লেগে থাকার একমাত্র যুক্তি আমি শুনেছি যে প্রিন্টযোগ্য UTF-8 অক্ষর মাইএসকিউএলে পাঠ্য / সম্পূর্ণ-পাঠ্য অনুসন্ধানগুলিকে বিশৃঙ্খল করতে পারে। এটা কি সত্যি?

ইউটিএফ -8 এর মাধ্যমে ল্যাটিন -1 ব্যবহারের অন্য কারণ রয়েছে কি? এটি আমার বোধগম্য যে এটি উচ্চতর এবং আরও সর্বব্যাপী হয়ে উঠছে।


4
@jon ল্যাটিন -1 হয় না ইংরেজি নির্দিষ্ট। স্প্যানিশ পুরোপুরি সেখানে রয়েছে, পাশাপাশি ফ্রেঞ্চও যদি আমার ভুল না হয়।
দারখোগ

4
@ দারখোগ: লাতিন ১ প্রকৃতপক্ষে ইংরেজির জন্য নির্দিষ্ট নয় তবে এটি মূলত পশ্চিম-ইউরোপীয় বর্ণমালাতেই সীমাবদ্ধ।
বার্ট ভ্যান ইনজেন শেহানাউ

16
আধুনিক সিস্টেমে ইউটিএফ -8 এর পরিবর্তে লাতিন 1 ব্যবহারের একমাত্র সম্ভাব্য সুবিধা হ'ল নাশকতা। অবশ্যই তা কেবল নাগরিকের পক্ষে উপকারী, এবং যার যার আনুগত্য তার, সিস্টেমের মালিক বা বিকাশকারীদের পক্ষে নয়।
জন হান্না

13
খুব খারাপ আপনার ডেটাবেস ইউরো চিহ্ন বা এমনকি আমার নাম (דותן) ধরে রাখতে সক্ষম হবে না।
dotancohen

20
নন-ল্যাটিন -১ অক্ষর ব্যবহারকারী "অনুলিপি করুন এবং আটকান"? ইউনিকোডকে কিছু অপ্রাসঙ্গিক অপ্রয়োজনীয় জিনিস হিসাবে বিবেচনা করবেন না যা কেবল দুষ্টু নার্ভদেরই যত্ন করে। আমাদের মধ্যে অনেকগুলি এমন অক্ষর টাইপ করেন যা নিয়মিত ভিত্তিতে লাতিন -১ এ ফিট হয় না - আমি প্রচুর লোককে ইওরোপীয়
ভাষাবিহীন

উত্তর:


131

ইউনিকোড অবশ্যই কঠিন, এবং ইউটিএফ -8 এনকোডিংয়ে বেশ কয়েকটি অসুবিধাজনক বৈশিষ্ট্য রয়েছে। তবে ইউটিএফ -8 এএসসিআইআই, ল্যাটিন -১, ইউসিএস -২ এবং ইউটিএফ -১ 16 কে ছাড়িয়ে ওয়েবে ডি-ফ্যাক্টো স্ট্যান্ডার্ড এনকোডিংয়ে পরিণত হয়েছে। শুধু সর্বত্র হল UTF-8 ব্যবহার

আপনার ইউনিকোডকে সমর্থন করার সবচেয়ে গুরুত্বপূর্ণ কারণ হ'ল ব্যবহারকারীর ইনপুট সম্পর্কে আপনার অযথা অনুমান করা উচিত নয়। আপনার ডোমেনটি কী তা আমার কোনও ধারণা নেই, তবে হিব্রু ব্যবহারকারীর নাম, চীন সম্পর্কে একটি ব্লগ পোস্ট, ইমোজি সহ একটি মন্তব্য, বা "ভাল" এর মতো সহজভাবে স্টাইলযুক্ত পাঠ্য হওয়া সম্ভব হবে ... ওহ, এগুলি টাইপোগ্রাফিকভাবে সঠিক উদ্ধৃতি চিহ্নগুলি ছিল ( “”পরিবর্তে ""), এন-ওয়াইড ড্যাশ এবং একটি উপবৃত্ত যা ইংরেজী পাঠ্যে প্রচলিত এমন অক্ষর, যা ASCII বা লাতিন -1 দ্বারা সমর্থিত নয়। সুতরাং অন্যান্য স্ক্রিপ্টগুলি সমর্থন না করা আপনাকে অন্য সংস্কৃতিতে কেবল বড় চ * সি কে নয়, তবে লাতিন -১ এ আঁকানো আপনাকে যথাযথ ইংরেজি লিখতেও দেয় না।

ইউনিকোড কেবলমাত্র "খারাপ চরিত্রগুলি" মঞ্জুরি দেয় তা ধারণা ভুল। হ্যাঁ, পাঠ্যটি সত্যিই জটিল, এবং ইউনিকোড এটি আপনার কাছ থেকে আড়াল করবে না। আপনার বস সম্ভবত রচিত চরিত্রগুলি সম্পর্কে ভাবছেন, যেখানে একটি বেস কোডডপয়েন্ট যেমন aপরবর্তী কোডপয়েন্টগুলি দ্বারা সংশোধন করা হয় যেমন উদাহরণস্বরূপ একটি চাক্ষুষ চরিত্র গঠনে ডায়াক্রিটিকদের প্রতিনিধিত্ব করে á। আপনি যদি কোনও ধরণের সাধারণীকরণ করেন তবে অনুসন্ধানগুলি করার চেষ্টা করার সময় এটি সত্যিই আপনার পথে আসে না। উদাহরণস্বরূপ, আপনি এনএফসি ফর্মটিতে সমস্ত পাঠ্য সংরক্ষণ করতে পারেন যা যদি উপলব্ধ থাকে তবে এই জাতীয় রচনাগুলি তাদের পূর্বনির্ধারিত আকারে ভেঙে দেয়। অনুসন্ধান করার সময়, আপনি পাঠ্য থেকে সমস্ত রচনা অক্ষরও সরিয়ে ফেলতে পারেন, তবে এটি কয়েকটি ভাষায় তাদের অর্থগুলি যথেষ্ট পরিবর্তন করতে পারে।

ইউনিকোডে প্রচুর পরিমাণে মুদ্রণযোগ্য অক্ষর যুক্ত করেছে - তবে এএসসিআইআই এগুলির প্রচুর পরিমাণ রয়েছে। আপনি কি একটি স্ট্রিংয়ের মাঝখানে কোনও NUL পরিচালনা করবেন? 0x1C, একটি "ফাইল বিভাজক" কীভাবে? আমি এর অর্ধেকও দেখিনি । ল্যাটিন -1 একটি নরম হাইফেন যুক্ত করেছে যা শব্দ বিরতির সুযোগগুলি নির্দেশ করে, তবে অন্যথায় অদৃশ্য। এটিও কি আপনার পূর্ণ-পাঠ্য অনুসন্ধানকে ভেঙে দেয়? অন্য কথায়, এমনকি এএসসিআইআই এবং ল্যাটিন -১ আপনাকে নিজের ইনপুটটি সম্পূর্ণরূপে ভেঙে ফেলার অনুমতি দেয় যদি আপনি মনে করেন এটি কেবলমাত্র মুদ্রণযোগ্য পাঠ্য!


8
একটি ডাটাবেস দৃষ্টিকোণ থেকে, এই অক্ষরের কিছু পাঠ্য টাইপ ক্ষেত্রে (পাঠ্য / বর্ণচর / চর / ইত্যাদি) অনুমোদিত নয়। মাইএসকিউএল নেই এই তথ্য ধরনের নাল অক্ষর দিই, কিন্তু পোস্টগ্রি মত অন্যান্য ডাটাবেস না। আপনি যদি এই জাতীয় অক্ষরগুলি সঞ্চয় করতে সক্ষম হতে চান তবে আপনার ব্লগ (মাইএসকিউএল) বা বিটিইএ (পোস্টগ্রিএসকিউএল) ব্যবহার করার কথা।
cimmanon

15
"ল্যাটিন -১ এ আঁকানো আপনাকে যথাযথ ইংরেজি লেখার অনুমতিও দেয় না" এটি খুব ভাল বিষয়, অন্যথায় ইউনিকোড আরও শক্তিশালী হয়ে প্রতিহত হবে। ;-)
ডুডুলিপিকেটর

3
@ PaŭloEbermann এম্বেড করা NUL টি অক্ষর মানে আপনার ডেটা বাইনারি ব্লব, কেবল একটি স্ট্রিং নয়। এনইউএলএস একটি অদ্ভুত উদাহরণ ছিল, যেহেতু আমি বিশ্বাস করি যে ইউটিএফ -8 \0কোনও মাল্টি-বাইট এনকোডিংয়ের অংশ হিসাবে বাইট ব্যবহার করা কখনও এড়ানো যায় না, নিশ্চিত করে নিন যে ইউটিএফ 8-সচেতন কোডটি কোনও স্ট্রিংয়ের মাঝখানে থামবে না।
পিটার কর্ডেস

7
সমস্ত ইউনিকোড অক্ষর মুদ্রণযোগ্য - আপনার কেবল সঠিক হরফের প্রয়োজন :-)
জেমস অ্যান্ডারসন

4
@ জেমসএন্ডারসন ফন্টটি তখন ভুল এবং ভঙ্গ হবে। en.wikipedia.org/wiki/Unicode_control_characters
djechlin

62

আমি প্রযুক্তিগত প্রশ্নের বাইরে মনে করি, আপনার সাহেবের বর্তমান মানগুলিতে আপ টু ডেট থাকার সময় থাকতে পারে না।

যেহেতু তাঁর অবস্থানটি মধ্যাহ্নভোজনে পুরোপুরি বাইরে যায় না, কেবলমাত্র তারিখের বাইরে, এই বিষয়টি নিয়ে আলোচনার সময় তার অবস্থানকে সম্মান করুন (এবং আপনাকে ইউটিএফ -8 সম্পর্কিত যে উদ্বেগ রয়েছে তা নিয়ে আলোচনা করার দরকার নেই ), এবং উদ্বেগের সাথে কাজ করার চেষ্টা করুন। আমি সন্দেহ করি যে অন্তর্নিহিত সমস্যাটি কোনও প্রযুক্তিগত সমস্যা নয় এবং এর জন্য কিছুটা নরম দক্ষতার আলোচনার প্রয়োজন হতে পারে।


6
আমি আরও অনুমোদন করতে পারে না। আসলে আমি আফসোস করছি যে আমার নিজের উত্তরে আমি "মানবিক দিক" পুরোপুরি উপেক্ষা করেছি, যা এই ইস্যুতে সর্বোত্তম হতে পারে। আশা করি আমি একাধিকবার
উপড়ে ফেলতে পারতাম

2
ল্যাটিন -1 বাইরে সবকিছু কলিং bad characterএবং চিন্তা এগুলো non-printableহল just out-datedআপনি কিভাবে?
njzk2

2
আসল ইস্যুটি হ'ল, "এটি কি প্রযুক্তিগত সমস্যা যা আমরা মোকাবেলা করছি?" আমি বিশ্বাস করি না যে ওপি'র বস স্কুলে গিয়েছিলেন এবং এটি শিখিয়েছিলেন, বা কিছু প্রযুক্তিগত ম্যানুয়াল / জার্নাল পড়েছিলেন এবং এই সিদ্ধান্তে পৌঁছেছিলেন। সমাধানটি কঠোরভাবে একটি প্রযুক্তিগত সমাধান বলে আমি বুঝতে পারি না। হাস্যকরভাবে মন্তব্যটি ইস্যুটির ঠিক হৃদয় দেখায়; এই সমস্যাটিকে সম্বোধন করা যদি ভুলভাবে করা হয় তবে তা অত্যন্ত আপত্তিকর হতে পারে।
নেলসন

49

আমাদের মধ্যে কোনটি সঠিক?

একসময়, আপনার বস ছিল। কিন্তু সময়ের সাথে সাথে, বিষয়গুলি পরিবর্তিত হয়। আজকাল, আপনি (তবে আপনার বসের আগে দৌড়ানোর আগে, নেলসনের উত্তরটিও অবশ্যই পড়তে ভুলবেন না )।

মাইএসকিউএল এর পুরানো সংস্করণ এবং বেশিরভাগ কিছুর পুরানো সংস্করণগুলি ইউটিএফ 8 এর চেয়ে পুরানো লাতিন 1 / আইএসও -8859-1 (5) এর সাথে অনেক ভাল আচরণ করেছে।

ইউটিএফ 8 বেশিরভাগ জায়গায় তৈরি, বিকশিত এবং ধাক্কা দেওয়ার কারণ রয়েছে: সঠিকভাবে প্রয়োগ করা হলে এটি আরও ভাল কাজ করে । ল্যাটিন 1 চরিত্রটি 8 বিট, এমন একটি ইউটিএফ 8 অক্ষর 8 থেকে 32 বিট দীর্ঘ হতে পারে এই বিষয়টি থেকে উদ্ভূত কিছু কার্য সম্পাদন এবং স্টোরেজ সমস্যা রয়েছে। সুতরাং পরিকল্পনা VARCHARকরার সময় আপনার এটি বিবেচনায় নেওয়া উচিত। এবং আপনার অনুসন্ধানের রুটিনগুলি একটি বাচ্চা ধীর হবে। তারা কিছু করতে পারবে না (এর সাথে যেমন অনুসন্ধানসমূহ অ্যাকসেন্ট সংবেদনশীলতা বা ছাড়া । ব্যাপক কাজ ছাড়া latin1 ঐ না পারে), কিন্তু তারা হবে একটি বিট আরো সময় লাগবে।

তবে অন্যদিকে, স্টোরেজটি সস্তা , ফাইল আকারে বাস্তবসম্মত ওভারহেড 2-3% এর চেয়ে কম হয়, কম্পিউটিং শক্তিও সস্তা এবং মুরের আইনের সাথে সাদরে সস্তা হয়ে যায়; যখন আপনার সময় এবং আপনার গ্রাহকদের প্রত্যাশা স্পষ্টভাবে নয়

আপনি যদি অনুসন্ধান সরঞ্জাম ইত্যাদির জন্য উদ্বিগ্ন হতে পারেন তবে আপনি যদি এই জাতীয় সরঞ্জাম বিকাশকারী হন । তবে আপনি সম্ভবত না। আপনি সেই সরঞ্জামগুলি ব্যবহার করেন ; এমনকি যারা গতকাল পুরোপুরি ইউটিএফ 8 অনুপযুক্ত ছিল না (যেমন পূর্ববর্তী মাইএসকিউএলগুলি ছিল না) আজও আছে, বা শীঘ্রই হবে (যেমন মাইএসকিউএল utf8mb4 সমর্থন সহ)।

সুতরাং সতর্কতার সাথে পরিকল্পনা এবং UTF8 হওয়া সঠিক ভাবে বাস্তবায়ন (দ্বারা না এটা একটি অনুচিন্তা হিসাবে latin1 উপর slapping) আপনি কোড খুব যুক্তিসঙ্গতভাবে যে থাকতে পারে ভবিষ্যত প্রমাণ , যা, যদি আপনি কি কখনও কোন এশিয়াটিক দেশের সঙ্গে ব্যবসা করছেন পরিকল্পনা, একটি খুবই ভালো জিনিস। এবং আপনার যদি এ জাতীয় কোনও পরিকল্পনা না থাকে তবে অন্যান্য লোকেরাও তাদের কাছে থাকতে পারে এবং এই লোকেরা আপনার গ্রাহক, সরবরাহকারী বা অংশীদার হতে পারে।

সুতরাং যখন তারা আপনাকে ইউটিএফ 8 ডেটা প্রেরণ শুরু করবেন, তখন আপনাকে ল্যাটিন 1 এ রূপান্তর করতে এবং একটি অবিশ্বাস্য কেস মোকাবেলা করার জন্য একটি জটিল জিনিসমাজিগ স্থাপন করতে হবে।

যখন আপনি বাজেটের মধ্যে দুষ্ট মোজিবাকে নিনজদের বিরুদ্ধে একাধিক সংঘাতের জন্য ব্যয় করেছেন , এবং বিবেচনা করুন যে তারা চলে যাচ্ছে না - যেমন আপনি ইতিমধ্যে আবিষ্কার করেছেন - তখন আপনি বুঝতে পারবেন যে ইউটিএফ 8 যাওয়া কেবল সহজ নয়, এটি হতে চলেছে পাশাপাশি সস্তা


4

কিছু পরিস্থিতি যেখানে কেবলমাত্র ASCII তে বর্ণ নির্ধারণ করা সীমাবদ্ধ তা হ'ল সীমিত পছন্দ ক্ষেত্রগুলির জন্য, যেমন স্থিতি ক্ষেত্রগুলির জন্য, কারণ আপনি সেখানে থাকা মানগুলি কঠোরভাবে নিয়ন্ত্রণ করতে পারেন এবং বহিরাগত সিস্টেমের জন্য বিদেশী কী / রেফারেন্স, কারণ এর খুব কমই কোনও কারণ রয়েছে তাদের কাছে বর্ণচিহ্নগুলি এবং কয়েকটি চিহ্ন ছাড়া কিছু থাকতে পারে।

অন্য কোনও পাঠ্যের জন্য, কেবল ইউটিএফ -8 ব্যবহার করুন।


2
মাইএসকিউএল এর এনাম নেই?
raptortech97

2
এবং যেহেতু ASCII UTF8 এর একটি উপসেট, কেবল তখনও UTF8 ব্যবহার করুন।
রিমকো গ্রিলিচ

@ রেমকো গ্রিলিচ: আমি এই বিষয়টির সাথে একমত নই যে আপনি তাদের জন্য ইউটিএফ 8 ব্যবহার করতে পারেন। আমার দৃষ্টিতে, বাহ্যিক উল্লেখগুলি টেক্সট নয় বাইটের অস্বচ্ছ ক্রম। তাদের কাছে উল্লেখযোগ্য সুবিধা ব্যতীত কোনও চরসেট নেই। যদি বাইটগুলির ক্রমের নির্দিষ্ট চরসেটে কোনও ব্যাখ্যা থাকে তবে তা হয় বাহ্যিক সিস্টেমের বা অ্যাপ্লিকেশনটির ডোমেন, ডাটাবেসের নয়।
মিথ্যা রায়ান

3
@ লাইআরয়ান: আমি সে বিষয়টিটি দেখতে পাচ্ছি, তবে তারপরেও এটি ASCII হওয়া উচিত নয়, সম্ভবত কিছু বাইনারি ব্লব ফর্ম্যাট বা তাই।
রিমকো জারলিচ 13

3

উত্তরটি দিয়ে শুরু করতে, আপনার সার্ভারটি কীভাবে কনফিগার করা হয়েছে তাতে কিছু যায় আসে না । মাইএসকিউএলে অক্ষর এনকোডিং প্রতি কলামে কনফিগার করা যেতে পারে (এর অর্থ, একই টেবিলটি একাধিক এনকোডিংগুলিতে অক্ষর ধারণ করতে পারে, সহজ)। অর্থাত আমার সার্ভার (এবং এতে প্রচুর উত্তরাধিকারের ডাটাবেসগুলি) পুরানো ক্লায়েন্টদের সংযুক্ত (সঠিকভাবে বিভিন্ন হার্ডওয়্যার ক্লায়েন্ট) সঠিক সংকলন সেট করতে না পারার জন্য ডিফল্টরূপে সিপি 1251 এর জন্য কনফিগার করা হয়েছে, তবে উত্পাদনের প্রধান ডাটাবেসগুলি সবই ইউটিএফ -8 ব্যবহার করে।

"নষ্ট স্থান" সম্পর্কে কথা বলা - আপনি গুরুত্বপূর্ণ ডেটাটিকে বাস্তবিকভাবে অপব্যয় বলতে পারেন না, তাই না? আপনার ডেটা যে ভাষাতে রয়েছে তার উপর নির্ভর করে স্টোরেজ স্পেস বৃদ্ধি পৃথক হবে your আপনার সাইটটি প্রাথমিকভাবে ইংরেজিতে এবং 100% পর্যন্ত যদি ন্যূনতম (1% এর কম) থেকে বৃদ্ধি হয় তবে যদি এটি ASCII সীমার বাইরে অক্ষর ব্যবহার করে মেইনি হয় । আরও বেশি, আপনি আরও পূর্ব দিকে সরালে। পরে ইউটিএফ -8 (তথাকথিত ইউটিএফ 8 এমবি 4) নির্দিষ্টকরণের কোড পয়েন্ট প্রতি 4 বাইট পর্যন্ত অনুমতি দেয় allow

এবং "কে ডান"… সত্য কথাটি, এটি প্রযুক্তিগত দিক থেকে একটি সামাজিক প্রশ্ন। নির্দিষ্ট সার্ভার সেটআপগুলির জন্য বৈধ কারণ থাকতে পারে, তবে আপনাকে অবশ্যই এর প্রভাবগুলি জানতে হবে। তবে আপনি যদি আমাকে জিজ্ঞাসা করেন, ইউটিএফ -8 ব্যবহার না করার কোনও কারণ নেই। বিশ্বের সমস্ত পাঠ্যকে শাসন করার জন্য এটি এক প্রকারের।


মাইএসকিউএল ডাটাবেস এনকোডিংয়ে কলাম এনকোডিংয়ে রূপান্তর করার আগে ডেটা রূপান্তর করার চেষ্টা করবে। আপনার যদি utf8 ক্লায়েন্ট, ল্যাটিন 1 ডাটাবেস এবং utf8 কলামেন্ট থাকে তবে পাঠ্য ডেটা হারাতে পারে।
ইভান সোল্টসেভ

ইভান, এটি সম্পূর্ণ ভিন্ন প্রশ্ন। অক্ষর-সেট-ক্লায়েন্ট, অক্ষর-সেট-সার্ভার, অক্ষর-সেট-সংযোগ, চরিত্র-সেট-ফলাফলগুলির মধ্যে মিথস্ক্রিয়া মাইএসকিউএল ডকুমেন্টেশনের একটি দীর্ঘ নিবন্ধ। এবং প্রতি-কলাম কল্যানেশন সেটিংসের ক্ষেত্রে, "ডাটাবেস কল্যানেশন" হ'ল কলাম কোলেশন, এবং এটি সরাসরি অক্ষর-সেট-ফলাফলে রূপান্তরিত হয়, ডাটাবেস কোলেশন উপেক্ষা করে।
AnrDaemon

0

তাকে কেবল ব্যাখ্যা করুন যে ইউটিএফ -8 ওয়েব ট্র্যাফিকের জন্য ডিফল্ট default এবং যে কোনও ব্যবহারকারী তাদের ব্রাউজারে কোনও বৈধ ইউনিকোড অক্ষর প্রবেশ করতে পারেন।

Utf-8-> ল্যাটিন-1-> ইউটিএফ -8 থেকে প্রাপ্ত বিভিন্ন এবং বিভিন্ন ইস্যু মোকাবেলা করার চেয়ে সামনের দিক থেকে পিছন দিকে সমস্ত উপায়ে ইউটিফ -8 / ইউনিকোড রাখা খুব সহজ।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.