2013-12-09 4 views
-2

Я хотел бы вставить/прочитать арабские слова в базе данных MySQLВставьте арабские слова в базе данных MySQL

Когда я ввожу арабские слова из Chrome, я вижу их в БД ASCII
Когда я вставляю от FireFox, я их вижу в БД Unicode
Смотреть эту картину с моей БД: http://postimg.org/image/6ht95v671/

Мне нужно, чтобы все было вставлено в ASCII только

Примечание: вставить только из формы PHP с использованием метода POST

+0

http://stackoverflow.com/questions/279170/utf-8-all-the-way-through – Mihai

+0

Для решения проблем программирования требуется, ну, код. – Mihai

+0

Я нашел проблему в браузере Кодировка не из utf8 lol – Ahmed

ответ

1

Для каждой новой таблицы вы создаете, во время создания, установить его по умолчанию набор символов UTF8, и вы должны быть хорошо идти:

Вот полный docs

А вот некоторые примеры SQL

CREATE TABLE my_great_table('some_column' VARCHAR(1024)) DEFAULT CHARACTER SET = utf8; 

Арабские символы не могут быть записаны в ASCII. Это 8-битный набор символов, который буквально не имеет возможности вставлять в него больше символов, кроме 0-9, a-z, A-Z, пунктуации и некоторых невидимых командных символов.

Вот график на ascii

+0

Я нашел эту проблему в браузере Кодировка не из utf8 lol – Ahmed

0

Вы всегда можете преобразовать его в шестнадцатеричном, прежде чем положить его в базе данных

function strToHex($string){ 
    $hex=''; 
    for ($i=0; $i < strlen($string); $i++){ 
     $hex .= dechex(ord($string[$i])); 
    } 
    return $hex; 
} 

, а затем получить значение пути преобразования шестигранника в строку

function hexToStr($hex){ 
    $string=''; 
    for ($i=0; $i < strlen($hex)-1; $i+=2){ 
     $string .= chr(hexdec($hex[$i].$hex[$i+1])); 
    } 
    return $string; 
} 
Смежные вопросы