我更改了字符集但不起作用
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 ('कंप्यूटर');
数据库的字符集需要是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
('कंप्यूटर');
这适用于我的安装。如果它对您不起作用,则您的服务器设置可能有问题。
您不需要更改数据库,您只需要更改表列。
ALTER TABLE `YOUR TABLE` CHANGE `data ` `data ` VARCHAR(1000)
CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL;
此更改工作正常且非常可行。
如果表已经创建并且问题在于存储(您的)本地语言字符,utf8_general_ci
或者utf16_general_ci
适合您:触发以下查询:
ALTER TABLE 'tbl_hindi' CHANGE 'data' 'data' VARCHAR(100) CHARSET utf8 COLLATE utf16_general_ci DEFAULT '' NOT NULL;
如果这也不能解决您的问题,请尝试将数据库排序规则更改为utf16_general_ci
.
您必须使用此代码修改表以插入印地语值
`ALTER TABLE 'your table name' MODIFY 'column name' VARCHAR(20) CHARACTER SET UTF8;`
要在您的网页上显示印地语,您需要使用代码
`<meta charset="UTF-8">`
在<head>
标签之间。
有关此的详细说明,您可以单击此处了解更多信息。
快乐编码!
从您的 phpmyadmin 将表的排序规则更改为 utf16_general_ci ... 注意:它对我有用..
尝试这个:
CREATE TABLE tbl_hindi (
data nvarchar(1000),
);
INSERT INTO tbl_hindi VALUES (N'कंप्यूटर');
SELECT * FROM tbl_hindi;
只需在这样的值之前使用 N $sql="insert into indextbl Values('Null',N'$abc')";