HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Неправильная кодировка русских символов в базе данных
  #1  
Старый 28.02.2008, 18:37
Ershik
Постоянный
Регистрация: 07.11.2007
Сообщений: 392
С нами: 9741777

Репутация: 100
По умолчанию Неправильная кодировка русских символов в базе данных

У меня проблема c кодировкой, или mysql шалит либо еще что-то соседнее. Apache переставил на кодировку cp1251
При загрузке дампа с русскими символами, mysql изменяет все русские символы на ??????
Как это можно исправить?
Пробовал
$:
Код:
mysql set name cp1251
не помогло.
 
Ответить с цитированием

  #2  
Старый 28.02.2008, 21:16
Sharky
Познавший АНТИЧАТ
Регистрация: 01.05.2006
Сообщений: 1,021
С нами: 10541186

Репутация: 921


По умолчанию

Цитата:
Сообщение от Ershik  
У меня проблема c кодировкой, или mysql шалит либо еще что-то соседнее. Apache переставил на кодировку cp1251
При загрузке дампа с русскими символами, mysql изменяет все русские символы на ??????
Как это можно исправить?
Пробовал
$:
Код:
mysql set name cp1251
не помогло.
у меня кодировка базы стоит utf-8 а кодировка скриптов уже windows-1251
 
Ответить с цитированием

  #3  
Старый 28.02.2008, 21:54
Helios
Постоянный
Регистрация: 14.01.2007
Сообщений: 459
С нами: 10169427

Репутация: 589
По умолчанию

У тебя, равно как и у всех, в конфиге по дефолту прописана кодировка latin-1.
Есть несколько вариантов исправить это дело:
1, самый простой: изменить /etc/my.cnf:
Код:
default-character-set = cp1251
2, самый рациональный: в начало дампа добавить строку
Код:
SET NAMES cp1251
Эта же команда должна(!) выполняться каждый раз после подключения движка сайта к базе данных, для стабильной работе движка при любых настройках мускула (дядьки, которые писали koobi об этом не подумали).
 
Ответить с цитированием

  #4  
Старый 29.02.2008, 08:04
Дикс
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
С нами: 10562786

Репутация: 537


По умолчанию

помогите разобраться с кодировкой.

через phpmyadmin вставляю дамп, предварительно приписав "SET NAMES cp1251" или "SET NAMES utf8" (толку никакого).
В скрипте, сразу после подключения выполняю запрос
mysql_query("SET NAMES utf8"); (или опять же cp1251)

Получаю на странице вместо русского текста -

2 Федор Сергеев
3 Василий Пустяков
4 Мария Соколова
5 Тест Юзер
 
Ответить с цитированием

  #5  
Старый 29.02.2008, 08:10
.:EnoT:.
Постоянный
Регистрация: 29.05.2007
Сообщений: 850
С нами: 9975266

Репутация: 1916


По умолчанию

точно такая же проблема была у меня с форумом mybb, решилось тем что в метах я прописал кодировку utf8, а таблицы в бд были в cp1251...
 
Ответить с цитированием

  #6  
Старый 29.02.2008, 08:41
Дикс
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
С нами: 10562786

Репутация: 537


По умолчанию

всё, проблема решилась
в скрипте было написано
mysql_query("SET NAMES cp-1251");
а кодировка пишется без тире.
 
Ответить с цитированием

  #7  
Старый 03.03.2008, 17:40
Ershik
Постоянный
Регистрация: 07.11.2007
Сообщений: 392
С нами: 9741777

Репутация: 100
По умолчанию

У меня тоже проблема решилась.
В базе данных исправил кодировку cp1251 на utf8. Все заработало стабильно.
 
Ответить с цитированием

  #8  
Старый 03.03.2008, 18:04
mr.The
Познавший АНТИЧАТ
Регистрация: 30.04.2007
Сообщений: 1,205
С нами: 10016425

Репутация: 1257


По умолчанию

PHP код:
mysql_query("SET NAMES CP1251");
mysql_query("SET COLLATION_CONNECTION=CP1251_GENERAL_CI"); 
заюзать сразу после коннекта с БД.
 
Ответить с цитированием

  #9  
Старый 07.03.2008, 00:27
GrisS
Познающий
Регистрация: 07.01.2006
Сообщений: 48
С нами: 10705203

Репутация: 1
По умолчанию

Здраствуйте ребятя, родскажите пожалюсто где надо исправить или добавить charset штобы вопрос (загаловка) в Poll отабражалось правилно? сейчась видно примерно так &#4304&#4314&#4317&#4336&#4304

ещо в Топ статях заголовка отображается правилно а когда перехожу целиком на статю заголовка сново барахлит (Articles)

ещо в Speedbar тоже самое...

стоит последний релиз censored! спосибо заранее...

http://img78.imageshack.us/img78/3493/src016lc.jpg

Последний раз редактировалось GrisS; 07.03.2008 в 00:50..
 
Ответить с цитированием

  #10  
Старый 07.03.2008, 01:38
DCRM
Познающий
Регистрация: 12.12.2006
Сообщений: 89
С нами: 10217126

Репутация: 60
По умолчанию

Цитата:
Сообщение от Helios  
самый рациональный: в начало дампа добавить строку
Код:
SET NAMES cp1251
Эта же команда должна(!) выполняться каждый раз после подключения движка сайта к базе данных, для стабильной работе движка при любых настройках мускула (дядьки, которые писали koobi об этом не подумали).
Это не всегда помогает((
Ещё можно для уверенности добавить при создании таблицы(к примеру):
Код:
create database $DB1 character set 'cp1251'
И на счёт настройки MySQL5...
Меня постоянно добивали "Русские символы" аля "?????"
Решилось с помощью правки my.ini

Код:
[mysql]
default-character-set=cp1251

[mysqld]
default-character-set=cp1251
character-set-server=cp1251
collation-server=cp1251_general_ci
init-connect="SET NAMES cp1251"
skip-character-set-client-handshake

[mysqldump]
default-character-set=cp1251
+ если мускул ругается что не может найти кодировку, то допишем строчку:

Код:
[client]
character-sets-dir=x:/mysql/share/charsets/
P.S. Надеюсь не переборщил с атрибутами

Последний раз редактировалось DCRM; 07.03.2008 в 01:43..
 
Ответить с цитированием
Ответ



Предыдущая тема Следующая тема
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Где хранится пароль к базе данных, в форумах IPB? coyl Уязвимости CMS / форумов 6 05.12.2005 03:46



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.