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

Payback Points - How to redeem - How to merge multiple payback accounts - Block Payback card - Payback customer care

Your SBI Debit card ending with XX0000 is deactivated only for Internet txn.

SBI account holders may have received an SMS with following message, supposed to be from State Bank of India (SBI).

Your SBI Debit card ending with XX0000  is deactivated only for Internet txn. To activate send SMS "SWON ECOM 0000" to 09223966666. No change for ATM/POS usage
** Replace the four Zeros with last 4 digits of your debit card number

Recently many of the SBI account holder has losed their money due to a hi-tech ATM robbery which happened in Thiruvananthapuram, capital city of Kerala.

How to turn off BSNL Buzz services - Steps to deactivate BSNL Buzz messages

BSNL Buzz is a service from BSNL for mobile customers, in which when your phone is in idle mode, teasers or small buzz messages related to topics like entertainment, lifestyle, sports, business, fun, polls, daily news updates are delivered to your mobile. When you activate a BSNL SIM card, through which BSNL BUZZ is available, you automatically accept the terms and conditions for teaser delivery.

Recently, I bought a new BSNL SIM card. After the activation, when ever I unlock the phone, I was getting lots of buzz message one after another. I have to click on cancel / back button multiple time to view the home screen. Some times when some call arrives, it was difficult to attend calls due to this teaser popups. So I decided to deactivate the BSNL buzz. Here are the steps to Deactivate or Turn Off BSNL Buzz.


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