tags:

views:

52

answers:

2

Non-english characters are messed up in a text column. Arabic text looks like this:

! نـجـم سـهـيـل

How to store non-english characters correctly?

+1  A: 

What OS are you using?

If Linux then it's good to have a system locale set to utf8 also, like "en_US.utf8".

And, to be sure, issue an "SET NAMES UTF8" command to mysql just after connection.

(db character set/collation must also be utf8)

zed_0xff
+3  A: 

You should consider using utf8 to store your text.

You can do this at the database creation:

CREATE DATABASE mydb
  DEFAULT CHARACTER SET utf8
  DEFAULT COLLATE utf8_general_ci;

You can also configure mysql at installation or at startup to use utf8 (see Mysql manual)

The mysql manual pages cover all aspects of characterset and collations: http://dev.mysql.com/doc/refman/5.0/en/charset.html

The character set of the connection can be changed by

SET CHARACTER SET utf8

More details here and in the chapter Character set support

marapet