air
air

Reputation: 6264

php page not displaying arabic text

I have a PHP page where I am trying to display Arabic text but its showing.

In MySQL database I'm storing arabic text successfully.

I'm using the following code to connect to the database :

function connect(){
$this->dbLink = mysql_connect($this->dbHost,$this->dbUser,$this->dbPass);   
if(!$this->dbLink) die("Could not connect to database. " . mysql_error());
mysql_select_db($this->dbName);
mysql_set_charset("utf8", $this->dbLink); 
}

And using the following header in the PHP page :

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

But still no success.

Thanks for helping.

Upvotes: 2

Views: 13774

Answers (7)

Munisah Assisi
Munisah Assisi

Reputation: 1

Add this mysqli_query($koneksi,"SET NAMES utf8;");

Upvotes: 0

rhoula
rhoula

Reputation: 31

Try to add this two lines to your php script after the Mysql connection

mysql_query("SET NAMES cp1256"); mysql_query("set character set cp1256");

Upvotes: 0

Mihai Nita
Mihai Nita

Reputation: 5787

Have you tried setting the connection to use UTF-8 (with mysql_set_charset)?

Upvotes: 0

Yusuf ali
Yusuf ali

Reputation: 331

You can use this meta code:

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

And please check mysql column's character type..

Look to this

Upvotes: 3

Headshota
Headshota

Reputation: 21449

check the file encoding, it should be UTF-8, and you can try to run the following query before querying the text:

mysql_query("SET NAMES UTF8");

Upvotes: 3

feeela
feeela

Reputation: 29942

You set a META-tag that tells the browser to use ISO-8859-1 (<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />), which is for latin-based scripts, but surely not Arabic.

Also make sure you have UTF-8 at all places:

  • the DB-column
  • the DB-connection (you already have it)
  • the website (via HTTP-header OR META-tag, you don't need both, and you don't need a second META-tag, as stated above…)

Upvotes: 1

Christoph Jeschke
Christoph Jeschke

Reputation: 36

Addtional to the headers set in the meta section, check your default_charset setting in the php.ini. default_charset should be empty if you set content type header by your own or correspond with your content-type meta information.

Upvotes: 1

Related Questions