Bug #45265 How to store Telugu language data in MySQL.
Submitted: 2 Jun 2009 12:15 Modified: 6 Jun 2009 18:59
Reporter: shanmukhan b Email Updates:
Status: Not a Bug Impact on me:
None 
Category:MySQL Server: Charsets Severity:S3 (Non-critical)
Version:5.0.24 OS:Windows
Assigned to: CPU Architecture:Any
Tags: multi language support, telugu language support

[2 Jun 2009 12:15] shanmukhan b
Description:
Hi,

I am using MySQL and perl/cgi for a webapplication for a telugu dictionary.

I need to store data(telugu language) from an html page to data base.

I am inserting 'word' and its 'meaning' in the database.

If i give the 'word' and click on 'Retrive' button 'meaning' will be displayed in a html text box.

If i insert a word like 'రామ' then i'm getting correct data back to text box in the html page.
But for some words like 'దోషము' i am getting data like 'దోషము'.

What is the problem, and please give me the work around.

The word 'దోషము' is giving correct data some times and some times it is giving like 'దోషము'.

How to repeat:
output of show create table table_name is:

-> show create table telugu_nighantuvu;

-> CREATE TABLE telugu_dictionary (
    `word` varchar(200) NOT NULL,
    `meaning` varchar(600) NOT NULL
   ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-> select * from telugu_dictionary;

word	                        meaning

రామ	                రామ
దోషము 	        తప్పు
షణ్ముఖన్	కుమారస్వామి
[2 Jun 2009 21:08] Sveta Smirnova
Thank you for the report.

Please provide output of SHOW VARIABLES LIKE '%char%' and SHOW VARIABLES LIKE '%coll%'
[3 Jun 2009 5:32] shanmukhan b
output of -> show variables like '%char%';

"Variable_name","Value"
"character_set_client","utf8"
"character_set_connection","utf8"
"character_set_database","latin1"
"character_set_filesystem","binary"
"character_set_results","utf8"
"character_set_server","latin1"
"character_set_system","utf8"
"character_sets_dir","C:\Program Files\MySQL\MySQL Server 5.0\share\charsets\"

output of -> show variables like '%coll%';

"Variable_name","Value"
"collation_connection","utf8_general_ci"
"collation_database","latin1_swedish_ci"
"collation_server","latin1_swedish_ci"
[3 Jun 2009 5:46] Sveta Smirnova
Thank you for the feedback.

Environment looks OK. You are using Windows, so this would not work from MySQL command line client. See bug #44093 for details.

But if I understood initial description correctly you have problems when insert/select using your perl/cgi webapplication. Please create perl/cgi test file demonstrating the problem.

Please also indicate version of MySQL, DBD::mysql and DBI you use.
[3 Jun 2009 7:23] shanmukhan b
user interface, which will take input from the user and display the output

Attachment: displaytelugu.html (text/html), 1.53 KiB.

[3 Jun 2009 7:24] shanmukhan b
back-end cgi program which inserts/retrieve data in/from  DB

Attachment: telugu_dictionary.cgi (application/octet-stream, text), 1.10 KiB.

[3 Jun 2009 7:34] shanmukhan b
mysql version : 5.0.24a-community-nt
per version : 5.10.0

I already read the bug: 44093.Thanks for your explanation.

I don't bother how the data stored in the DB ( ??? or some special chars).

Browser is responsible to display the data in my native (Telugu) script.

But when i am retrieving data from DB, some words are getting displayed correctly and some are not displaying correctly(displaying like special chars 'రామ').

Could you please tell me the reason where the thing is going wrong.

I have attached my two files.
1. displaytelugu.html -> user interface to display data
2. telugu_dictionary.cgi -> actual coding done for the DATA BASE realted things.
[3 Jun 2009 7:40] Sveta Smirnova
Thank you for the feedback.

But version 5.0.24 is too old. Could you please try with current version 5.0.82 in your environment also?

Additionally there is no character set information nor in the HTML file, neither in CGI? Which headers your application sends?
[5 Jun 2009 11:55] shanmukhan b
Telugu dictionary using perl cgi. (back-end).

Attachment: telugu_dictionary.cgi (application/octet-stream, text), 1.83 KiB.

[5 Jun 2009 12:05] shanmukhan b
Telugu dictionary user interface.

Attachment: display_telugu.html (text/html), 2.26 KiB.

[5 Jun 2009 12:08] shanmukhan b
Thanks for your support...........

I came to know what the problem is.

I was using odbc driver to interact with MySQL from PERL.
Now I have downloaded mysqldriver file, now I am able to retrieve/insert UNICODE (Telugu) data from/to the data base.

I have attached the html and cgi for the people facing the same problem.

Thanks
B.Shanmukhan.
[6 Jun 2009 18:59] Sveta Smirnova
Thank you for the feedback.

I assume last comment means problem was in your environment, so this is not a MySQL bug. Re-open the report if I am wrong.