আপনার যা আছে তা EXTRATERRESTRIAL ALIEN (U+1F47D)
এবং BROKEN HEART (U+1F494)
যা মৌলিক বহুভাষিক বিমানে নেই। এমনকি তাদের জাভাতে একটি চর হিসাবে উপস্থাপন করা যায় না "👽💔".length() == 4
,। এগুলি অবশ্যই নালাগুলি নয় এবং আপনি যদি তাদের সমর্থন করে ফন্ট ব্যবহার না করেন তবে একটি স্কোয়ার দেখতে পাবে।
মাইএসকিউএল utf8
কেবলমাত্র বেসিক বহুভাষিক বিমানটিকে সমর্থন করে এবং এর utf8mb4
পরিবর্তে আপনার ব্যবহারের প্রয়োজন :
পরিপূরক চরিত্রের জন্য, utf8 অক্ষরটি মোটেও সঞ্চয় করতে পারে না, যখন utf8mb4 এর চারটি বাইট সংরক্ষণ করতে হয়। যেহেতু utf8 অক্ষরটি মোটেও সংরক্ষণ করতে পারে না, তাই আপনার ইউটিএফ 8 কলামগুলিতে কোনও পরিপূরক অক্ষর নেই এবং মাইএসকিউএলের পুরানো সংস্করণগুলি থেকে utf8 ডেটা আপগ্রেড করার সময় আপনার চরিত্র রূপান্তরকরণ বা ডেটা হারাতে হবে না।
সুতরাং এই অক্ষরগুলিকে সমর্থন করার জন্য আপনার মাইএসকিউএল 5.5+ হওয়া দরকার এবং আপনার utf8mb4
সর্বত্র ব্যবহার করা দরকার । সংযোগ এনকোডিং হওয়া দরকার utf8mb4
, অক্ষর সেট হওয়া দরকার utf8mb4
এবং সহযোগিতা হওয়া দরকার utf8mb4
। জাভা জন্য এটি এখনও ঠিক "utf-8"
, কিন্তু মাইএসকিউএল একটি পার্থক্য প্রয়োজন।
আপনি কোন ড্রাইভারটি ব্যবহার করছেন তা আমি জানি না তবে সংযোগ চরসেট সেট করার জন্য ড্রাইভার অগ্নিস্টিক পদ্ধতিটি হল ক্যোয়ারীটি পাঠানো:
SET NAMES 'utf8mb4'
সংযোগ তৈরি করার পরে ঠিক।
সংযোগকারী / জে এর জন্য এটি দেখুন :
14.14: আমি কীভাবে সংযোগকারী / জে দিয়ে 4-বাইট UTF8, utf8mb4 ব্যবহার করতে পারি?
সংযোগকারী / জে দিয়ে 4-বাইট UTF8 ব্যবহার করতে অক্ষর_সেট_সার্ভার = utf8mb4 দিয়ে মাইএসকিউএল সার্ভারটি কনফিগার করুন। সংযোগকারী / জে তারপরে সেই সেটিংটি ব্যবহার করবে
যতক্ষণ সংযোগের স্ট্রিং-এ অক্ষরচিহ্ন এনকোডিং সেট করা হয়নি । এটি অক্ষর সেটটির স্বয়ংক্রিয়করণের সমান।
আপনার কলাম এবং ডাটাবেসও সামঞ্জস্য করুন:
var1 varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL
আবার, আপনার মাইএসকিউএল সংস্করণটি utf8mb4 সমর্থনের জন্য তুলনামূলকভাবে আপ টু ডেট হওয়া দরকার।