जैसा कि @Tim द्वारा बताया गया है, आपको collation
. को बदलने की आवश्यकता है अपनी टेबल/डेटाबेस/कॉलम से UTF-8
. सबसे पहले अपने database/table/column
. के मिलान की जांच करें ।
संयोजन की जांच करें:
डेटाबेस के मिलान की जांच कैसे करें:
SELECT
default_character_set_name
FROM
information_schema.SCHEMATA
WHERE
schema_name = "YOUR_DATABASE_NAME";
तालिका के मिलान की जांच कैसे करें:
SELECT
CCSA.character_set_name
FROM
information_schema.`TABLES` T,
information_schema.`COLLATION_CHARACTER_SET_APPLICABILITY` CCSA
WHERE
CCSA.collation_name = T.table_collation
AND T.table_schema = "YOUR_DATABASE_NAME"
AND T.table_name = "YOUR_TABLE_NAME";
COLUMN के मिलान की जांच कैसे करें:
SELECT
character_set_name
FROM
information_schema.`COLUMNS`
WHERE
table_schema = "YOUR_DATABASE_NAME"
AND table_name = "YOUR_TABLE_NAME"
AND column_name = "YOUR_COLUMN_NAME";
संयोजन बदलें:
डेटाबेस संयोजन कैसे बदलें:
ALTER DATABASE YOUR_DATABASE_NAME CHARACTER SET utf8 COLLATE utf8_unicode_ci;
तालिका संयोजन कैसे बदलें:
ALTER TABLE YOUR_TABLE_NAME CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
स्तंभ मिलान कैसे बदलें:
ALTER TABLE YOUR_TABLE_NAME MODIFY YOUR_COLUMN_NAME VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci;
उदाहरण:
DROP TABLE IF EXISTS `sample_table`;
CREATE TABLE `sample_table` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
`language` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO sample_table(name,language) VALUES('Ed Sheeran','English');
INSERT INTO sample_table(name,language) VALUES('আয়েশা খাতুন সুজানা','আমার সোনার বাংলা');
देखिए, CHARSET
तालिका परिभाषा में उपयोग किया जाता है utf8
. तो, आप unicode characters
स्टोर कर सकते हैं तालिका में।
जांचें कि डेटा सही तरीके से डाला गया है या नहीं।
SELECT * FROM sample_table
;
परिणाम:
| id | name | language |
|----|--------------------|------------------|
| 1 | Ed Sheeran | English |
| 2 | আয়েশা খাতুন সুজানা | আমার সোনার বাংলা |