改變的字符集設置,但不起作用我如何插入印地文語言的Mysql
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 ('कंप्यूटर');
改變的字符集設置,但不起作用我如何插入印地文語言的Mysql
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
('कंप्यूटर');
這適用於我的安裝。如果它不適合你,你的服務器設置可能有問題。
它爲我工作。謝謝 –
它不適合我!我得到了?????,它在phpmyadmin中顯示,但不是在我通過API調用獲取它之後。如何處理服務器設置? –
@PalakDarji聽起來像在瀏覽器中的編碼問題。 – jurgemaister
只是在像這樣的值之前使用N $ sql =「插入到indextbl值('Null',N'$ abc')」;
我很抱歉,但這應該如何幫助?另外,爲什麼你的答案包含PHP的外觀? – jurgemaister
您不需要更改數據庫,只需要更改表列。
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;`
插入印地文值
對於在網頁上展示印地文,你需要在<head>
標籤之間使用代碼
`<meta charset="UTF-8">`
。
有關詳細解釋,您可以通過click here瞭解更多。
快樂編碼!
試試這個:
CREATE TABLE tbl_hindi (
data nvarchar(1000),
);
INSERT INTO tbl_hindi VALUES (N'कंप्यूटर');
SELECT * FROM tbl_hindi;
任何運氣使SQL工作? – jurgemaister