如何使用非英语(孟加拉语)语言将数据输入到此数据库表中?

Aye*_*ana 4 mysql sql database netbeans nlp

如何使用非英语(孟加拉语)语言将数据输入到此数据库表中? 在此处输入图片说明

100*_*111 5

正如@Tim 所指出的,您需要将collation表/数据库/列的 更改为UTF-8. 首先检查您的database/table/column.

检查整理:

如何检查 DATABASE 的排序规则:

SELECT
    default_character_set_name
FROM
    information_schema.SCHEMATA
WHERE
    schema_name = "YOUR_DATABASE_NAME";
Run Code Online (Sandbox Code Playgroud)

如何检查TABLE的排序规则:

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";
Run Code Online (Sandbox Code Playgroud)

如何检查 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";
Run Code Online (Sandbox Code Playgroud)

更改排序规则:

如何更改数据库排序规则:

ALTER DATABASE YOUR_DATABASE_NAME CHARACTER SET utf8 COLLATE utf8_unicode_ci;
Run Code Online (Sandbox Code Playgroud)

如何更改表排序规则:

ALTER TABLE YOUR_TABLE_NAME CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
Run Code Online (Sandbox Code Playgroud)

如何更改列排序规则:

ALTER TABLE YOUR_TABLE_NAME MODIFY YOUR_COLUMN_NAME VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci;
Run Code Online (Sandbox Code Playgroud)

例子:

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('????? ????? ??????','???? ????? ?????');
Run Code Online (Sandbox Code Playgroud)

看,CHARSET表定义中使用的是utf8. 所以,你可以存储unicode characters在表中。

检查数据插入是否正确。

SELECT * FROM sample_table;

结果:

| id |               name |         language |
|----|--------------------|------------------|
|  1 |         Ed Sheeran |          English |
|  2 |    ????? ????? ?????? |  ???? ????? ????? |
Run Code Online (Sandbox Code Playgroud)