Skip to main content

How to fix the problem in displaying french accented characters from Mysql table on a PHP page?

In a php page I am displaying some hard coded french  texts which has some accented characters like "é è ..." and also some french characters are fetched from Mysql table and displayed on the page.

Here the problem was the hard coded french characters were displaying fine, but the characters fetch from db was not showing properly. It was displaying like "?" with in a black background.


at the top of the page I had set the the meta tag with charset as utf-8

<meta http-equiv="content-type" content="text/html;charset=utf-8">


but this didn't worked

So i tried to change the charset definition of MySQL table by the steps given below

ALTER TABLE tbl_name CONVERT TO CHARACTER SET charset_name;

to change the DB table's default charset to utf-8:

ALTER TABLE tbl_name
  CHARACTER SET utf8,
  COLLATE utf8_general_ci;


to know the charset of your mysql table check the steps given here

Unfortunately this charset change procedure also didn't gave me the expected result, so I tried a php level implementation using the built in function utf8_encode()

I just passed the french string fetched from the mysql table through the utf8_encode

this solved the issue.

The problem occurred because, there is already charset utf-8 declaration at the top of the page using the meta tag

and when the French data is fetched from the table, it is also in utf-8 and a double encoding took place

Code looks similar to this:

------
-----
Your french hard coded characters comes here
-----
-----
fetch data from your mysql table
-----
$var=utf8_encode($rw["MyData"]);
-----
echo $var;
------


Reference : http://www.php.net/manual/en/function.utf8-encode.php

Comments

Popular posts from this blog

Strange problem occured while trying to create a CSV file using PHP Script - The file is not seen on FTP but can download using file's absolute path url

Strange problem occured while trying to create a CSV file - The file is not seen on FTP but can download using file's absolute path url Last day I came across a strange problem when I tried to create a csv file on therver using a PHP script. the script was simply writing a given content as a csv file. The file will be created runtime. What happened was, The script executed fine, file handler for new file was created and contents was wrote into the file using fwrite and it returned the number of bytes that was written.

How to get the Query string of a URL using the Javascript (JS)?

JS function get the Query string of a URL or value of each parameter using the Javascript(JS)? If you want to get your current page's url var my_url=document.location; to get the query string part of the url use like this: var my_qry_str= location.search; this will return the part of the url starting from "?" following by query string Lets assume that your current page url is http://www.crozoom.com/2013/page.html?qry1=A&qry2=B then the location.search function will return " ?qry1=A&qry2=B " to exclue "?", do like this:


Urgent Openings for PHP trainees, Andriod / IOS developers and PHP developers in Kochi Trivandrum Calicut and Bangalore. Please Send Your updated resumes to recruit.vo@gmail.com   Read more »
Member
Search This Blog