Skip to main content

Storing unicode texts in MySQL with phpMyAdmin

Today, I've received a personal mail/request from Sivanantham Hemamalini, working for IT leisure in Singapore. Since I was in company when received the mail, I couldn't answer immediately. If I understand the question right, it is about inputting Unicode texts especially Tamil in phpMyAdmin.

PhpMyAdmin's default characterset is iso-8859-1 and so if we enter anything in the form, browser will convert it into numerical html entities. Say for example, if we enter தமிழ் and submit the form, it will convert it to & #2980;& #2990;& #3007;& #2996;& #3021;. Because of this browser's behavior, it will be difficult to store the Unicode text as it is.

Solutions

Immediate solution I could think of is changing or forcing the browser's character encoding into utf-8. In Mozilla Firefox, it can be set via View -> Character Encoding -> Unicode (UTF-8)

Another elegant solution might be changing the phpMyAdmin configurations so that it sends and sets proper charset in Content-Type header as Content-Type: text/html; charset=utf-8
To do this, we have to edit the config.inc.php file found at phpMyAdmin's root directory:
$cfg['DefaultCharset'] = 'utf-8'; and
$cfg['AllowAnywhereRecoding'] = true;
These change of configurations should send proper headers. Anyhow, if the lang cookie is already set to some other charset, it won't reflect the changes. So, one may need to clear the cookies to see the changes.

Comments

Anonymous said…
I edit the config.inc.php file to this,
$cfg['DefaultCharset'] = 'utf-8'; and
$cfg['AllowAnywhereRecoding'] = true;
But i am getting error stating "Can not load iconv
or
recode extension needed for charset conversion,
configure php to allow using these extensions or
disable charset conversion in phpMyAdmin."
what is the solution for this.
I am using windows XP and php,v 2.8.2.1
thanks in advance
Hema
Hema, as the error message says it couldn't load the iconv extension, as it is not enabled. You can enable and disable PHP extensions via php.ini configuration file.

Use phpinfo() function to find the path of php.ini file.
To enable the iconv extension, just uncomment the line ;extension=php_iconv.dll (that is just remove the leading semicolon ";") in php.ini
You may need to restart Apache for the changes to reflect. Again use phpinfo() to see if the module is enabled or not. Now, you're done.

This procedure applies to any PHP extensions on Windows.
Anonymous said…
Do you have to use phpMyAdmin? I would write a simple PHP script to accept the input correclty and post to the db. The other solutions sound like more work.

Popular posts from this blog

Humble Award - Dr. A.N. Sreevatsan

Dr. A.N. Sreevatsan , ENT specialist located in Adyar, Chennai is one of the gems available in medicines. No assistants in his consulting room and he'd take at least 15mins for every patients. So far I have referred many and all are happy with his approach. Every wannabe doctor should visit him personally to understand his approach. I wish him to be more famous than now. Update (2010-11-21) : Added link to Google Map Keywords : Sreevatsan, Srivatsan, ENT, Adyar, Chennai, Hospital, Doctor

Save American College, Madurai (Update 2011)

This article was written on Jan 16, 2011 and updated on Jan 26, 2011, Mar 16, 2011, Mar 21, 2011, Mar 28, 2011, Apr 10, 2011, and May 1, 2011 In 2008, I have written Save American College, Madurai that seemed to help many people including alumni to understand the situation, politics and chaos. At that time, I was favoring Principal's party as favoring Bishop's party could turn adverse as they're was already trying to replace non-permanent staffs; in fact, I have even donated a meager amount for the legal battle.[ Update : Corrected the sentence to convey the intended meaning. Thanks for those who pointed out] This time, people hit the same old article and asking the details. When I contacted, this time, nobody have clear reason for the chaos--except that it's a ego clash between Principal and Bishop party. Problems and reasons Till now, all bishops were being part of The American College, Madurai Governing Council. All/Most of the bishops played subtle r...

Tamil Castes and Consolidation - Hacker Style Cheat Sheet

Tamil caste system and its hierarchies are complex and difficult to understand--due to different addressing systems. Similarly, the caste consolidation or grouping of similar or different castes under some title is extremely confusing. In many cases, the caste consolidation doesn't make any sense, but due to ulterior motives of politicians for their vote bank politics, these systems exist. So, to explain the system, I created a formula like cheat sheet: Vellalar = Pillai + Mudaliar + [Gounder] Pillai > Mudaliar ~ Gounder Thevar = Maravar + Kallar + [Agamudayar + [Senathipathi]] Senathipathi >>> Agamudiyar > Maravar ~ Kallar Agamudayar ~ Gounder Vanniyar = Padayachi + Gounder + [Naicker + [Reddy]] Naicker >>> Reddy > Padayachi ~ Gounder * Gounder is BC, Padayachi is MBC