Saturday, June 13, 2009

Make Database MySQL support Multi-Language


mysql-logo Default, database MySQL supports many european languages, since unicode character(UTF-8) support implemented in mysql it allows us to store many of the indian (Asian) languages.

Here, we want to store and manipulate multi languages in mysql table for developing globalization / locale support enabled sites.

How to manipulate MySQL to supports multi-language, following below steps:

  1. First, create a table multi-language in mysql with below scripts:
    CREATE TABLE multi_language
    (
    id INTEGER NOT NULL AUTO_INCREMENT,
    language VARCHAR(30),
    characters TEXT,
    PRIMARY KEY(id)
    ) ENGINE=INNODB CHARACTER SET = utf8;
    INSERT INTO multi_language VALUES (NULL, ‘English’, ‘abcdefghijklmnopqsrtuvwxyz’);
    INSERT INTO multi_language VALUES (NULL, ‘Arabic’, ‘ﺃ‎ﺏﺝﺩ‎ﻫﻭﺯﺡﻁﻱﻙﻝ‎ﻡﻥ’);
    INSERT INTO multi_language VALUES (NULL, ‘Arabic’, ‘ﺃ‎ﺏﺝﺩ‎ﻫﻭﺯﺡﻁﻱﻙﻝ‎ﻡ ﻥ’);
    INSERT INTO multi_language VALUES (NULL, ‘Hindi’, ‘ਓਊਨਣਥਨਫ’);
    INSERT INTO multi_language VALUES (NULL, ‘Thai’, ‘ЁώύЂЬЫЗЪШДГЦШГЕ’);
    INSERT INTO multi_language VALUES (NULL, ‘Telugu’, ‘ని మీ హొమ్ పేజిగా అమర్చుకోండి’);
    INSERT INTO multi_language VALUES (NULL, ‘Tamil’, ‘இந்தியா நாட்டின் பக்கங்கள்’);
    INSERT INTO multi_language VALUES (NULL, ‘Arabic’, ‘البحث في الصفحات العربية ‘);
    INSERT INTO multi_language VALUES (NULL, ‘Korean’, ‘시작페이지로 하세요 채용정보 광고 프로그램 정보’);



  2. Change the client character set with Commands:

    For Client Side

     SET NAMES ‘utf8′;



    To Set Locale time zone name

    SET @@lc_time_names = ‘en_US’;



    To Set Tamil language: SET @@lc_time_names = ‘ta_IN’;




  3. Now, Check out the result.





IMPORTANTS!!!



1. You need to install the  Extral language support in your system (windows XP),  Control Panel -> Regional and Language Option ->  Languages -> Install files languages (Thai)



2. You need to include below the Meta tag:



<META HTTP-EQUIV=”Content-Type” CONTENT=”text/html; charset=utf-8″>

0 Responses to “Make Database MySQL support Multi-Language”