如何在Mysql中插入印地语

jxct1oxe  于 2023-02-15  发布在  Mysql
关注(0)|答案(8)|浏览(130)

我更改了字符集,但不起作用

CREATE TABLE `tbl_hindi` (
  `data` varchar(1000) character set utf8 collate utf8_bin default NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
INSERT INTO `tbl_hindi` VALUES ('कंप्यूटर');
2wnc66cl

2wnc66cl1#

数据库的字符集必须为utf8_unicode_ci
尝试创建新数据库和新表。

CREATE DATABASE hindi_test
    CHARACTER SET utf8
    COLLATE utf8_unicode_ci;

USE hindi_test;

CREATE TABLE `hindi` (
    `data` varchar(200) COLLATE utf8_unicode_ci NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

INSERT INTO `hindi` (`data`) VALUES
    ('कंप्यूटर');

这适用于我的安装。如果不适用,可能是您的服务器设置有问题。

jckbn6z7

jckbn6z72#

您不需要更改数据库,您所需要的只是更改表列。

ALTER TABLE `YOUR TABLE` CHANGE `data ` `data ` VARCHAR(1000) 
CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL;

此更改工作正常且非常可行。

1tu0hz3e

1tu0hz3e3#

如果表已经创建,并且问题是关于存储(您的)本地语言字符,则utf8_general_ciutf16_general_ci适合您:激发以下查询:
ALTER TABLE 'tbl_hindi' CHANGE 'data' 'data' VARCHAR(100) CHARSET utf8 COLLATE utf16_general_ci DEFAULT '' NOT NULL;

ALTER TABLE 'tbl_hindi' CHANGE 'data' 'data' VARCHAR(100) CHARSET utf8 COLLATE utf8_general_ci DEFAULT '' NOT NULL;

如果这也不能解决问题,请尝试将数据库排序规则更改为utf16_general_ci

hyrbngr7

hyrbngr74#

您必须修改表以使用以下代码插入印地语值

`ALTER TABLE 'your table name' MODIFY 'column name' VARCHAR(20) CHARACTER SET UTF8;`

要在网页上显示印地语,您需要使用代码

`<meta charset="UTF-8">`

<head>标签之间。
关于这方面的详细解释,你可以click here了解更多。
快乐编码!

4nkexdtk

4nkexdtk5#

从你的phpmyadmin更改你的表的排序规则为utf16_general_ci...注意:这对我很有效。

mwyxok5s

mwyxok5s6#

试试这个:

CREATE TABLE tbl_hindi (
    data nvarchar(1000),
);
INSERT INTO tbl_hindi VALUES (N'कंप्यूटर');
SELECT * FROM tbl_hindi;
ttcibm8c

ttcibm8c7#

低于1为我工作

更改表表名更改旧列名新列名VARCHAR(1200)字符集utf8排序utf8_通用_ci默认值“”NOT;

fae0ux8s

fae0ux8s8#

只需在值前使用N,如$sql=“插入indextbl值('Null',N '$abc')";

相关问题