- 1 ১. পরিচিতি
- 2 ২. ক্যারেক্টার এনকোডিং সমস্যার প্রধান কারণগুলি
- 3 ৩. মাইএসকিউএল ক্যারেক্টার সেট কনফিগারেশন বোঝা
- 4 ৪. ক্যারেক্টার এনকোডিং সমস্যার প্রতিরোধ
- 5 ৫. ক্যারেক্টার ক্ষতি ঘটলে কী করা উচিত
- 6 ৬. প্রায়শই জিজ্ঞাসিত প্রশ্ন (FAQ)
- 6.1 প্রশ্ন ১: কেন মাইএসকিউএল-এ জাপানি টেক্সট “???” হিসেবে দেখায়?
- 6.2 Q2: আমি কীভাবে একটি বিদ্যমান টেবিলের ক্যারেক্টার সেট পরিবর্তন করতে পারি?
- 6.3 Q3: আমি কীভাবে উইন্ডোজ কমান্ড প্রম্পটে ক্যারেক্টার করাপশন প্রতিরোধ করতে পারি?
- 6.4 Q4: আমি কীভাবে ডকার পরিবেশে ক্যারেক্টার করাপশন প্রতিরোধ করতে পারি?
- 6.5 Q5: MySQL কনফিগারেশন ফাইলটি কোথায় অবস্থিত?
- 7 7. Summary
১. পরিচিতি
When building a database using MySQL, character encoding issues (moji-bake) are one of the most common problems users encounter. When character corruption occurs, data cannot be displayed or entered correctly, which may significantly disrupt business operations and system management. This article explains the main causes of character encoding issues in MySQL, outlines effective solutions, and provides concrete troubleshooting steps.
২. ক্যারেক্টার এনকোডিং সমস্যার প্রধান কারণগুলি
Character encoding problems in MySQL can generally be classified into the following three categories:
ক্যারেক্টার এনকোডিং সেটিংসের অমিল
- MySQL supports multiple character sets. If the character encoding between the client and the server does not match, character corruption will occur.
ক্লায়েন্ট ও সার্ভারের কনফিগারেশন পার্থক্য
- If the string sent from the client (for example, phpMyAdmin or a command-line tool) does not match the server’s character set configuration, problems can occur.
ডেটাবেস বা টেবিলের জন্য ভুল ক্যারেক্টার সেট সেটিংস
- If you do not specify the appropriate
CHARACTER SETwhen creating a database or table, inconsistencies may arise later when manipulating data.
৩. মাইএসকিউএল ক্যারেক্টার সেট কনফিগারেশন বোঝা
Correctly understanding MySQL character set configuration is the first step toward preventing character corruption. Let’s review the following items.
প্রধান ক্যারেক্টার সেট কনফিগারেশন ভেরিয়েবল
character_set_server: The default character set for the entire servercharacter_set_client: The character set of strings sent from the clientcharacter_set_database: The default character set for the database
বর্তমান সেটিংস কীভাবে পরীক্ষা করবেন
- Run the following command to check the current character set configuration.
SHOW VARIABLES LIKE 'character_set%';
- Based on the output results, identify any configuration mismatches.
৪. ক্যারেক্টার এনকোডিং সমস্যার প্রতিরোধ
To prevent character corruption in advance, proper configuration and environment setup are essential.
মাইএসকিউএল কনফিগারেশন ফাইল (my.cnf/my.ini) সমন্বয়
- To modify server-side settings, edit
my.cnformy.inias shown below.[mysqld] character-set-server = utf8mb4 collation-server = utf8mb4_general_ci
ডেটাবেস ও টেবিলের জন্য ক্যারেক্টার এনকোডিং সেট করা
- When creating a database, explicitly specify the character set using the following command.
CREATE DATABASE sample_db CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
- To modify an existing table:
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4;
ক্লায়েন্ট পরিবেশ সমন্বয়
- When using a command-line tool, specify the character set at the time of connection.
mysql --default-character-set=utf8mb4 -u root -p

৫. ক্যারেক্টার ক্ষতি ঘটলে কী করা উচিত
If character encoding issues occur, follow the steps below to resolve the problem.
কনফিগারেশন পরীক্ষা করুন
- Use the
SHOW VARIABLEScommand introduced earlier to verify the current configuration values.
ডেটা ব্যাকআপ এবং রিস্টোর
- When backing up data, be sure to explicitly specify the character set.
mysqldump --default-character-set=utf8mb4 -u root -p database_name > backup.sql
- Specify the same character set when restoring.
mysql --default-character-set=utf8mb4 -u root -p database_name < backup.sql
ট্রাবলশুটিং ধাপসমূহ
- Check the configuration using the
SHOW VARIABLEScommand, update it to the correct settings if necessary, and then test again. Review log files and error messages to identify the root cause.
৬. প্রায়শই জিজ্ঞাসিত প্রশ্ন (FAQ)
প্রশ্ন ১: কেন মাইএসকিউএল-এ জাপানি টেক্সট “???” হিসেবে দেখায়?
- The character set configuration of the client or server may be set to
latin1or another incompatible encoding. Change the setting toutf8mb4.
Q2: আমি কীভাবে একটি বিদ্যমান টেবিলের ক্যারেক্টার সেট পরিবর্তন করতে পারি?
- আপনি নিম্নলিখিত কমান্ড ব্যবহার করে এটি পরিবর্তন করতে পারেন।
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4;
Q3: আমি কীভাবে উইন্ডোজ কমান্ড প্রম্পটে ক্যারেক্টার করাপশন প্রতিরোধ করতে পারি?
chcp 65001কমান্ড ব্যবহার করে কোড পেজকে UTF-8 এ পরিবর্তন করুন।
Q4: আমি কীভাবে ডকার পরিবেশে ক্যারেক্টার করাপশন প্রতিরোধ করতে পারি?
- হোস্ট সাইডে একটি
my.cnfফাইল তৈরি করুন এবং কন্টেইনারের ভিতরে উপযুক্ত স্থানে মাউন্ট করুন যাতে কনফিগারেশন প্রয়োগ হয়।
Q5: MySQL কনফিগারেশন ফাইলটি কোথায় অবস্থিত?
- লিনাক্সে, এটি সাধারণত
/etc/my.cnfঅথবা/etc/mysql/my.cnfএ থাকে। উইন্ডোজে, এটি MySQL ইনস্টলেশন ডিরেক্টরির মধ্যে অবস্থিত।
7. Summary
MySQL-এ ক্যারেক্টার এনকোডিং সমস্যাগুলি সঠিক কনফিগারেশন এবং পদ্ধতিগত ট্রাবলশুটিংয়ের মাধ্যমে সমাধান করা যায়। প্রয়োজন অনুযায়ী আপনার সেটিংস যাচাই এবং সমন্বয় করার জন্য এই প্রবন্ধে উল্লেখিত ধাপগুলি ব্যবহার করুন। আপনার কনফিগারেশন নিয়মিত পর্যালোচনা করে, আপনি ক্যারেক্টার করাপশনের ঝুঁকি কমাতে এবং একটি স্থিতিশীল ডাটাবেস পরিবেশ বজায় রাখতে পারেন।


