Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   www.boolean.name > Веб-программирование > PHP / MySQL

PHP / MySQL Создание динамических Веб-ресурсов

Ответ
 
Опции темы
Старый 28.10.2010, 15:47   #1
Reizel
Задрот
 
Аватар для Reizel
 
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,569
Написано 407 полезных сообщений
(для 863 пользователей)
Кодировка таблиц MySQL

в общем, аяксом кидаю сообщение серверу,
Сервер ловит его, конвертирует из utf-8 в cp1251
ПОсле этого сует в БД.
В итоге имею - русские буквы превращаются в ??????????
Подскажите, какую кодировку БД и таблицы в ней надо юзать, и какой кодировкой принимать сообщение. Я пробовал, но не получается, вот может кто сталкивался...
__________________
(Offline)
 
Ответить с цитированием
Старый 28.10.2010, 15:50   #2
moka
.
 
Регистрация: 04.08.2006
Сообщений: 10,429
Написано 3,453 полезных сообщений
(для 6,859 пользователей)
Ответ: Кодировка таблиц MySQL

Сперва определи на каком именно момменте происходит потеря кодироки.
1. получение ajax запроса в php скрипте.
2. получение данных с бд из скрипта.
3. получение ajax ответа.

Также настрйоки БД должны быть корректными и колонки в таблицах тоже соответствующей кодировки.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Reizel (28.10.2010)
Старый 28.10.2010, 15:57   #3
Reizel
Задрот
 
Аватар для Reizel
 
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,569
Написано 407 полезных сообщений
(для 863 пользователей)
Ответ: Кодировка таблиц MySQL

Получаю сообщение нормально. Когда делаю INSERT INTO , сообщение вставляется, но при этом русские буквы теряются
Также настрйоки БД должны быть корректными и колонки в таблицах тоже соответствующей кодировки[/b]
Вот это то я и хочу узнать - стандартные (cp1251||utf8||ascii) не пашут, получаю бред(в основном знаки вопроса)
PS в PhpMyAdmin смотрю на таблицу - там тоже знаки вопроса

PSPS МоКа, спасибо за быстрый ответ
__________________
(Offline)
 
Ответить с цитированием
Старый 28.10.2010, 16:12   #4
moka
.
 
Регистрация: 04.08.2006
Сообщений: 10,429
Написано 3,453 полезных сообщений
(для 6,859 пользователей)
Ответ: Кодировка таблиц MySQL

В общем проблемма по сути решается весьма просто, для этого нужно в каждой базе данных и в таблице установить Collation на cp1251_bin, и при коннекте к базе-данных из php, нужно вызвать запрос с таким содержанием:
SET NAMES 'cp1251'
С моего блога
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Reizel (28.10.2010)
Старый 28.10.2010, 16:12   #5
Reizel
Задрот
 
Аватар для Reizel
 
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,569
Написано 407 полезных сообщений
(для 863 пользователей)
Ответ: Кодировка таблиц MySQL

Спасибо огромное тебе МоКа!!!!!! Работает!!!
__________________
(Offline)
 
Ответить с цитированием
Старый 28.10.2010, 17:36   #6
cyberblut
Знающий
 
Регистрация: 14.06.2009
Сообщений: 338
Написано 139 полезных сообщений
(для 257 пользователей)
Ответ: Кодировка таблиц MySQL

А нафига cp1251 вообще? Всегда utf-8 юзать нужно!
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Phantom (28.10.2010)
Старый 28.10.2010, 19:20   #7
moka
.
 
Регистрация: 04.08.2006
Сообщений: 10,429
Написано 3,453 полезных сообщений
(для 6,859 пользователей)
Ответ: Кодировка таблиц MySQL

А чем плохо если cp1251 работает нормально.
Я с этим давно разбирался, но не пробовал настроить utf-8, думал что эта кодирока не подходит для русского..
(Offline)
 
Ответить с цитированием
Старый 28.10.2010, 19:31   #8
.Squid
Дэвелопер
 
Аватар для .Squid
 
Регистрация: 05.04.2009
Адрес: Запорожье
Сообщений: 1,500
Написано 1,011 полезных сообщений
(для 4,641 пользователей)
Ответ: Кодировка таблиц MySQL

Сообщение от MoKa Посмотреть сообщение
думал что эта кодирока не подходит для русского..
Пардон, но это вынос мозга в стратосферу.
__________________

(Offline)
 
Ответить с цитированием
Эти 4 пользователя(ей) сказали Спасибо .Squid за это полезное сообщение:
moka (28.10.2010), Phantom (28.10.2010), Randomize (30.10.2010), Tadeus (29.10.2010)
Старый 28.10.2010, 19:44   #9
Phantom
Элита
 
Аватар для Phantom
 
Регистрация: 14.06.2008
Адрес: Украина, Киев
Сообщений: 2,133
Написано 698 полезных сообщений
(для 1,732 пользователей)
Ответ: Кодировка таблиц MySQL

Всегда и везде нужно юзать UTF-8. Она как раз мультибайтная и подходит для всего. Остальные кодировки - ГОВНО.
(Offline)
 
Ответить с цитированием
Эти 3 пользователя(ей) сказали Спасибо Phantom за это полезное сообщение:
ABTOMAT (30.10.2010), moka (28.10.2010), Randomize (30.10.2010)
Старый 28.10.2010, 19:46   #10
moka
.
 
Регистрация: 04.08.2006
Сообщений: 10,429
Написано 3,453 полезных сообщений
(для 6,859 пользователей)
Ответ: Кодировка таблиц MySQL

Сообщение от .Squid Посмотреть сообщение
Пардон, но это вынос мозга в стратосферу.
Сообщение от MoKa
Я с этим давно разбирался, но не пробовал настроить utf-8, думал что эта кодирока не подходит для русского..
....
(Offline)
 
Ответить с цитированием
Старый 27.02.2012, 02:19   #11
ВиНТ
Оператор ЭВМ
 
Регистрация: 26.02.2012
Сообщений: 26
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Кодировка таблиц MySQL

mysql_query("SET NAMES 'cp1251'")

выполни это после идентификации к mysql. париться то не нужно!
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +1, время: 14:50.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com