Wie

2012-07-02 14 views
6

Hindi Sprache in Mysql einzufügen ich die charset gesetzt geändert, funktioniert aber nichtWie

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

Glück gehabt die SQL-Arbeit zu machen? – jurgemaister

Antwort

14

Die charset der Datenbank utf8_unicode_ci sein muss.

Versuchen Sie, eine neue Datenbank sowie eine neue Tabelle zu erstellen.

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

Dies funktioniert bei meiner Installation. Wenn es für Sie nicht funktioniert, stimmt möglicherweise etwas mit Ihren Servereinstellungen nicht.

+1

Es funktionierte für mich. Danke –

+0

Es funktioniert nicht für mich! Ich habe ?????, Es zeigt es in phpmyadmin, aber nicht, nachdem ich es durch API-Aufruf erhalten habe. Was tun mit der Servereinstellung? –

+0

@PalakDarji Klingt wie ein Codierungsproblem in Ihrem Browser. – jurgemaister

-1

Verwenden Sie einfach N vor dem Wert $ sql = "einfügen in indextbl Werte ('Null', N '$ abc')";

+1

Es tut mir leid, aber wie soll das helfen? Warum enthält Ihre Antwort etwas, das wie PHP aussieht? – jurgemaister

2

Sie brauchen keine Datenbankänderung, Sie müssen lediglich die Tabellenspalte ändern.

ALTER TABLE `YOUR TABLE` CHANGE `data ` `data ` VARCHAR(1000) 
CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL; 

Diese Änderung funktioniert gut und sehr machbar.

0

Wenn die Tabelle bereits erstellt wurde und das Problem ist, über das Speichern (Ihre) Landessprache Zeichen, utf8_general_ci oder utf16_general_ci würden für Sie sein: Feuer folgende Abfrage:

ALTER TABLE 'tbl_hindi' CHANGE 'data' 'data' VARCHAR(100) CHARSET utf8 COLLATE utf16_general_ci DEFAULT '' NOT NULL; 

Wenn dies tut auch nicht Lösen Sie Ihr Problem, versuchen Sie, die Datenbanksortierung auf utf16_general_ci zu ändern.

0

von Ihrem phpMyAdmin Änderung Sortierungs Ihrer Tabelle utf16_general_ci ... Hinweis: es funktionierte für mich ..

0

Sie haben Ihre Tabelle zu ändern, die Hindi Wert einzufügen diesen Code mit

`ALTER TABLE 'your table name' MODIFY 'column name' VARCHAR(20) CHARACTER SET UTF8;` 

Für Hindi Anzeigen auf Ihren Webseiten benötigen Sie Code

`<meta charset="UTF-8">` 

zwischen dem <head> Tag zu verwenden.

Für detaillierte Erklärung hierzu können Sie click here mehr wissen.

Happy Coding!

1

Try this:

CREATE TABLE tbl_hindi (
    data nvarchar(1000), 
); 
INSERT INTO tbl_hindi VALUES (N'कंप्यूटर'); 
SELECT * FROM tbl_hindi;