|
PHP / MySQL Создание динамических Веб-ресурсов |
28.10.2010, 19:47
|
#1
|
Задрот
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,574
Написано 407 полезных сообщений (для 863 пользователей)
|
Кодировка таблиц MySQL
в общем, аяксом кидаю сообщение серверу,
Сервер ловит его, конвертирует из utf-8 в cp1251
ПОсле этого сует в БД.
В итоге имею - русские буквы превращаются в ??????????
Подскажите, какую кодировку БД и таблицы в ней надо юзать, и какой кодировкой принимать сообщение. Я пробовал, но не получается, вот может кто сталкивался...
|
(Offline)
|
|
28.10.2010, 19:50
|
#2
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Кодировка таблиц MySQL
Сперва определи на каком именно момменте происходит потеря кодироки.
1. получение ajax запроса в php скрипте.
2. получение данных с бд из скрипта.
3. получение ajax ответа.
Также настрйоки БД должны быть корректными и колонки в таблицах тоже соответствующей кодировки.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
28.10.2010, 19:57
|
#3
|
Задрот
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,574
Написано 407 полезных сообщений (для 863 пользователей)
|
Ответ: Кодировка таблиц MySQL
Получаю сообщение нормально. Когда делаю INSERT INTO , сообщение вставляется, но при этом русские буквы теряются
Также настрйоки БД должны быть корректными и колонки в таблицах тоже соответствующей кодировки[/b]
Вот это то я и хочу узнать - стандартные (cp1251||utf8||ascii) не пашут, получаю бред(в основном знаки вопроса)
PS в PhpMyAdmin смотрю на таблицу - там тоже знаки вопроса
PSPS МоКа, спасибо за быстрый ответ
|
(Offline)
|
|
28.10.2010, 20:12
|
#4
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Кодировка таблиц MySQL
В общем проблемма по сути решается весьма просто, для этого нужно в каждой базе данных и в таблице установить Collation на cp1251_bin, и при коннекте к базе-данных из php, нужно вызвать запрос с таким содержанием:
SET NAMES 'cp1251'
|
С моего блога
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
28.10.2010, 20:12
|
#5
|
Задрот
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,574
Написано 407 полезных сообщений (для 863 пользователей)
|
Ответ: Кодировка таблиц MySQL
Спасибо огромное тебе МоКа!!!!!! Работает!!!
|
(Offline)
|
|
28.10.2010, 21:36
|
#6
|
Знающий
Регистрация: 14.06.2009
Сообщений: 338
Написано 139 полезных сообщений (для 257 пользователей)
|
Ответ: Кодировка таблиц MySQL
А нафига cp1251 вообще? Всегда utf-8 юзать нужно!
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
28.10.2010, 23:20
|
#7
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Кодировка таблиц MySQL
А чем плохо если cp1251 работает нормально.
Я с этим давно разбирался, но не пробовал настроить utf-8, думал что эта кодирока не подходит для русского..
|
(Offline)
|
|
28.10.2010, 23:31
|
#8
|
Дэвелопер
Регистрация: 06.04.2009
Адрес: Запорожье
Сообщений: 1,500
Написано 1,011 полезных сообщений (для 4,642 пользователей)
|
Ответ: Кодировка таблиц MySQL
Сообщение от MoKa
думал что эта кодирока не подходит для русского..
|
Пардон, но это вынос мозга в стратосферу.
__________________
|
(Offline)
|
|
Эти 4 пользователя(ей) сказали Спасибо .Squid за это полезное сообщение:
|
|
28.10.2010, 23:44
|
#9
|
Элита
Регистрация: 14.06.2008
Адрес: Украина, Киев
Сообщений: 2,273
Написано 754 полезных сообщений (для 1,833 пользователей)
|
Ответ: Кодировка таблиц MySQL
Всегда и везде нужно юзать UTF-8. Она как раз мультибайтная и подходит для всего. Остальные кодировки - ГОВНО.
|
(Offline)
|
|
Эти 3 пользователя(ей) сказали Спасибо Phantom за это полезное сообщение:
|
|
28.10.2010, 23:46
|
#10
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Кодировка таблиц MySQL
Сообщение от .Squid
Пардон, но это вынос мозга в стратосферу.
|
Сообщение от MoKa
Я с этим давно разбирался, но не пробовал настроить utf-8, думал что эта кодирока не подходит для русского..
|
....
|
(Offline)
|
|
27.02.2012, 06:19
|
#11
|
Оператор ЭВМ
Регистрация: 26.02.2012
Сообщений: 26
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Кодировка таблиц MySQL
mysql_query("SET NAMES 'cp1251'")
выполни это после идентификации к mysql. париться то не нужно!
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 09:14.
|