我更改了字符集,但不起作用
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 ('कंप्यूटर');
2wnc66cl1#
数据库的字符集必须为utf8_unicode_ci。尝试创建新数据库和新表。
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 ('कंप्यूटर');
这适用于我的安装。如果不适用,可能是您的服务器设置有问题。
jckbn6z72#
您不需要更改数据库,您所需要的只是更改表列。
ALTER TABLE `YOUR TABLE` CHANGE `data ` `data ` VARCHAR(1000) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL;
此更改工作正常且非常可行。
1tu0hz3e3#
如果表已经创建,并且问题是关于存储(您的)本地语言字符,则utf8_general_ci或utf16_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;
utf8_general_ci
utf16_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。
hyrbngr74#
您必须修改表以使用以下代码插入印地语值
`ALTER TABLE 'your table name' MODIFY 'column name' VARCHAR(20) CHARACTER SET UTF8;`
要在网页上显示印地语,您需要使用代码
`<meta charset="UTF-8">`
在<head>标签之间。关于这方面的详细解释,你可以click here了解更多。快乐编码!
<head>
4nkexdtk5#
从你的phpmyadmin更改你的表的排序规则为utf16_general_ci...注意:这对我很有效。
mwyxok5s6#
试试这个:
CREATE TABLE tbl_hindi ( data nvarchar(1000), ); INSERT INTO tbl_hindi VALUES (N'कंप्यूटर'); SELECT * FROM tbl_hindi;
ttcibm8c7#
低于1为我工作
更改表表名更改旧列名新列名VARCHAR(1200)字符集utf8排序utf8_通用_ci默认值“”NOT;
fae0ux8s8#
只需在值前使用N,如$sql=“插入indextbl值('Null',N '$abc')";
8条答案
按热度按时间2wnc66cl1#
数据库的字符集必须为
utf8_unicode_ci
。尝试创建新数据库和新表。
这适用于我的安装。如果不适用,可能是您的服务器设置有问题。
jckbn6z72#
您不需要更改数据库,您所需要的只是更改表列。
此更改工作正常且非常可行。
1tu0hz3e3#
如果表已经创建,并且问题是关于存储(您的)本地语言字符,则
utf8_general_ci
或utf16_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
。hyrbngr74#
您必须修改表以使用以下代码插入印地语值
要在网页上显示印地语,您需要使用代码
在
<head>
标签之间。关于这方面的详细解释,你可以click here了解更多。
快乐编码!
4nkexdtk5#
从你的phpmyadmin更改你的表的排序规则为utf16_general_ci...注意:这对我很有效。
mwyxok5s6#
试试这个:
ttcibm8c7#
低于1为我工作
更改表表名更改旧列名新列名VARCHAR(1200)字符集utf8排序utf8_通用_ci默认值“”NOT;
fae0ux8s8#
只需在值前使用N,如$sql=“插入indextbl值('Null',N '$abc')";