我更改了字符集但无法正常工作
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 ('कंप्यूटर');
答案 0 :(得分:17)
数据库的charset必须是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
('कंप्यूटर');
这适用于我的安装。如果它不适合您,则服务器设置可能出现问题。
答案 1 :(得分:4)
您不需要更改数据库,只需更改表列即可。
ALTER TABLE `YOUR TABLE` CHANGE `data ` `data ` VARCHAR(1000)
CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL;
此更改工作正常且非常可行。
答案 2 :(得分:1)
您必须使用此代码修改表格以插入印地语值
`ALTER TABLE 'your table name' MODIFY 'column name' VARCHAR(20) CHARACTER SET UTF8;`
要在您的网页上显示印地语,您需要使用代码
`<meta charset="UTF-8">`
介于<head>
标记之间。
有关此问题的详细说明,您可以click here了解更多信息。
快乐的编码!
答案 3 :(得分:1)
试试这个:
CREATE TABLE tbl_hindi (
data nvarchar(1000),
);
INSERT INTO tbl_hindi VALUES (N'कंप्यूटर');
SELECT * FROM tbl_hindi;
答案 4 :(得分:0)
如果表已经创建且问题与存储(您的)本地语言字符有关,那么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
。
答案 5 :(得分:0)
从您的phpmyadmin更改您的表的排序规则到utf16_general_ci ... 注意:它对我有用..
答案 6 :(得分:-1)
只需在这个值之前使用N. $ sql =&#34;插入indextbl值(&#39; Null&#39;,N&#39; $ abc&#39;)&#34 ;;