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

Converting PSD with PHP/ImageMagick

After seeing feature rich options in Imagick PECL extension at Mikko Koppanen 's (the author) website and also impressed with ImageMagick 's features, I have decided to use it for the PSD to XHTML conversion website that I'm architecting and managing. Since, the team wants programming help for converting PSD images, I have tried it (documentation is sparse on PSD handling) Converting PSD to PNG/JPEG/etc Note that, flattenImages() is needed for layered/multi-page PSD file. <?php $im = new Imagick('test.psd'); $im->flattenImages(); $im->setImageFormat('png'); $im->writeImage('test.png'); ?> Extracting PSD layers One by one <?php $im = new Imagick('test.psd'); $im->setImageFormat('png'); for ($i = 0, $num_layers = $im->getNumberImages(); $i $im->setImageIndex($i); $im->writeImage('layer' . $i . '.png'); } ?> Note that, there is a better version below In a single call with writeIm...

Malayalis may not have valued Nedumudi Venu, but ChatGPT did

Back in the late 1980s (exactly in 1988, according to some searches)—there was a much-loved Malayalam serial called Mandan Kunju . Ever since then, our family developed a deep appreciation for Nedumudi Venu. His acting was often compared to that of Sivaji Ganesan, who was widely celebrated at the time. There were even debates about how Nedumudi was surpassing Sivaji with his unmatched natural style. Even in his 30s, Nedumudi would appear with grey hair, convincingly portraying elderly characters. About 35 years ago, I happened to watch a film in which Nedumudi Venu actually played the lead role—something quite rare in his career. I couldn’t remember the plot or the supporting cast, but what stayed with me vividly was the setting. The film had been shot in Munnar’s Madupetty Estate, with the estate school serving as one of the locations. I also remembered a Carnatic-influenced song filmed outdoors in the estate, which left a strong impression on me. For years, I tried to rediscover ...

Mrs. Sujatha, Marriage, and Misunderstandings

I recently watched an interview featuring Mrs. Sujatha on the Aval Vikatan YouTube channel, and I couldn’t help but write this post in response. In the video, she indirectly expresses regret about her relationship with the late writer Sujatha, implying that they lacked the kind of emotional bonding that today’s couples supposedly enjoy (?!). She also mentions that he would get angry at home, in contrast to his calm public persona. She suggests that they didn’t talk much—ironically, I vividly remember Sujatha’s own writing about the relationship between actress Shobha and Balu Mahendra, in which he quoted something his wife had said! Toward the end of the interview, she talks about the wealth and royalties he left behind, suggesting that material things don’t matter. ( It’s ironic—men spend their entire lives working to build wealth and security for their wives and families. ) What struck me even more was the comment section. Most of the viewers seemed critical of writer Sujatha, e...