I changed the charset set but does not work
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 ('कंप्यूटर');
The charset of the database needs to be utf8_unicode_ci
.
Try creating a new database, as well as a new table.
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
('कंप्यूटर');
This works on my install. If it doesn't work for you, something might be wrong with your server settings.
You do not need database change, all you need is to alter table column.
ALTER TABLE `YOUR TABLE` CHANGE `data ` `data ` VARCHAR(1000)
CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL;
This change works fine and very feasible.
You have to modify your table to insert the Hindi value using this code
`ALTER TABLE 'your table name' MODIFY 'column name' VARCHAR(20) CHARACTER SET UTF8;`
For displaying Hindi on your webpages you need to use code
`<meta charset="UTF-8">`
in between the <head>
tag.
For detail explanation about this, You can click here to know more.
Happy Coding!
If the table has already been created and the problem is about storing (your) local language characters, utf8_general_ci
or utf16_general_ci
would be for you:
Fire following query:
ALTER TABLE 'tbl_hindi' CHANGE 'data' 'data' VARCHAR(100) CHARSET utf8 COLLATE utf16_general_ci DEFAULT '' NOT NULL;
If this too doesn't solve your problem, try altering the database collation to utf16_general_ci
.
from your phpmyadmin change collation of your table to utf16_general_ci... Note: it worked for me..
Try this:
CREATE TABLE tbl_hindi (
data nvarchar(1000),
);
INSERT INTO tbl_hindi VALUES (N'कंप्यूटर');
SELECT * FROM tbl_hindi;
just use N before the value like this $sql="insert into indextbl Values('Null',N'$abc')";
来源:https://stackoverflow.com/questions/11292898/how-to-insert-hindi-language-in-mysql