Link to home
Start Free TrialLog in
Avatar of laurance1
laurance1

asked on

Arabic Font Problem on Dedicated Server CentOS - Joomla & WordPress

Dear All,

I need experts to solve my problem. Customer Service cannot help with such problem since they don't deal with application-based errors.

I have a dedicated server on GoDaddy, with the following:
OPERATINGSYSTEM=CentOS 5 x64
Server: Localhost via UNIX socket
Server version: 5.1.61
Protocol version: 10
MySQL charset: UTF8_general_ci
MySQL client version: 4.1.22
phpMyAdmin version: 3.4.9
Apache: 2.2.22
PHP: 5.3.10 --> GD, Gettext, Mbstring are all enabled.


I need your urgent help please.

Currently, I exhausted all possible solutions from online documentations
and discussions, suggestions, all possible solutions for such a tiny
problem with encoding, but all are unsuccessful.

Problem:
======
Any Arabic font text I enter from the client side it changes automatically
to question marks (??????).

User generated image

Funny enough that when I go then to phpmyadmin
and I see the new article saved as ????? in the contents table, I edit it
manually to the Arabic text (from within phpmyadmin) and I save it, it works
successfully on my Joomla end. In other word, I can see phpMyAdmin has no problem with charset since I can manually enter Arabic text and save it. But when the Arabic text comes from client side (Joomla or WordPress), the encoding from there gets corrupted.

However, I can see the source of the problem starting when I first install Joomla I get:

MB Language is Default           No    PHP mbstring language is not set to neutral. This
can be set locally by entering*php_value mbstring.language neutral* in your
..htaccess file.

This above error of joomla installation is missing seeing the correct
language. Well, PHP has a "Constitution" file (php.ini) that can parse what
is required in the client side. Unfortunately, even when adding the
required language value, it cannot see it.

When I add the .htaccess file to the public_html directory of my domain
account, and I add the line required for MB (*php_value mbstring.language
neutral*), I get the 500 Internal Server Error. I checked the php-mbstring
and it is already installed (yum install php-mbstring).

Further, I summarise below the actions I did with no luck:

1. I made sure that the database and phpmyadmin are both in the correct
charset that supports Arabic language (UTF8).

2. I added the necessary code to the main php.ini under /etc/php.ini as
follows
[mbstring]
mbstring.language = Neutral
mbstring.internal_encoding = UTF-8
mbstring.http_input = UTF-8
mbstring.http_output = UTF-8
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_character = long

3. I added the following to httpd.conf file and I got the 500 Internal
Server Error:
php_value mbstring.language = Neutral ; Set default language to
Neutral(UTF-8) (default)
php_value mbstring.internal_encoding = UTF-8 ; Set default internal
encoding to UTF-8
php_value mbstring.encoding_translation = On ; HTTP input encoding
translation is enabled
php_value mbstring.http_input = auto ; Set HTTP input character set
dectection to auto
php_value mbstring.http_output = UTF-8 ; Set HTTP output encoding to UTF-8
php_value mbstring.detect_order = auto ; Set default character encoding
detection order to auto
php_value mbstring.substitute_character = none ; Do not print invalid
characters
php_value default_charset = UTF-8 ; Default character set for auto content
type header

4. I tried Joomla (1.5 and 2.5) - both same problem.

User generated image
User generated image
5. I tried WordPress the latest version - Same problem. The ?????? appear even in the installation process when I choose an Arabic-font name for the site.

User generated image
6. I changed the charset from utf8_general_ci to UTF-8 Unicode (utf8) and to cp1256 (both bin and general_ci) ... on database and tables -- with no luck.

7. Ok then, the problem seems with PHP? Let me go and add the following to php.ini once in the main file /etc/php.ini and once in a new php.ini file I created inside cgi-bin - in either way I did restart Apache, and I did rebuild Apache with PHP, and I even restarted the server! with the same problem - as if Joomla is blind and does not want to see the default language set to Neutral!

[mbstring]
mbstring.language = Neutral
mbstring.internal_encoding = UTF-8
mbstring.http_input = UTF-8
mbstring.http_output = UTF-8
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_character = long;
mbstring.func_overload = 1

Then I commented the above and tried:
mbstring.language = neutral
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = SJIS
mbstring.encoding_translation =
mbstring.detect_order = auto
mbstring.substitute_character =
mbstring.func_overload = 0

With no Luck.

8. I tried very many tricks on Joomla Admin panel itself, changing language to Arabic, I added Arabic package and allll possible tricks. It is not relevant.


Another post on experts-exchange has discussed this problem, offered some solutions. I tried them all, with no luck. The post was (Joomla 1.5 does not show Arabic char) link: https://www.experts-exchange.com/questions/23239548/Joomla-1-5-does-not-show-Arabic-char.html
The last comment by: wsafiPosted on 2008-05-24 at 11:25:43ID: 21639889 I tried in details with no luck.


Please help!

Many thanks in advance.

Laurance
Avatar of legolasthehansy
legolasthehansy

Have you checked this link?

http://computerhowto.us/enable-arabic-font-in-wordpress-content.html

It seems to discuss the same problem you are having..
Avatar of laurance1

ASKER

Thanks legolasthehansy for your reply.

I checked the link already. The guy is talking about an old problem with phpMyAdmin when the encoding was a problem. The current phpMyAdmin is more clever and it uses the default encoding of UTF-8 General or UTF-8 Unicode.

3. Change the collation become “utf8_general_ci” and save

In my case, the encoding of the database and of every single table is UTF-8 General

If you also check my post above, I tried all relevant encoding for Arabic font. It all seems fine from phpMyAdmin end. Plus, I imported the database of my old version of the my website and it has Arabic font already there and it displays it fine in Arabic.

The problem is when adding or even editing posts from Joomla (or Wordpress) end. It changes the Arabic content to ???????

Please advise!

Thanks
ASKER CERTIFIED SOLUTION
Avatar of laurance1
laurance1

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Because I did NOT get any help from you, I feel I wasted my time waiting for help from you and you did not bother yourself analysing the problem with me.

I did the research and help myself - and I was kind enough to come back and post the answer for your "paid" customers to find help for similar problems.

I am not happy with your service.