Yeti
Yeti

Reputation: 5818

How to store non-english characters?

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

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

How to store non-english characters correctly?

Upvotes: 9

Views: 3931

Answers (3)

Prateek
Prateek

Reputation: 53

The query below solved the issue.

ALTER TABLE tbl_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

Upvotes: 2

marapet
marapet

Reputation: 56446

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

Upvotes: 12

zed_0xff
zed_0xff

Reputation: 33217

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)

Upvotes: 2

Related Questions