如何在Mysql中插入印地语

时间:2012-07-02 11:39:02

标签: mysql hindi

我更改了字符集但无法正常工作

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 ('कंप्यूटर');

7 个答案:

答案 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_ciutf16_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 ;;