PDA

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


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

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

Helios
28.02.2008, 21:54
У тебя, равно как и у всех, в конфиге по дефолту прописана кодировка latin-1.
Есть несколько вариантов исправить это дело:
1, самый простой: изменить /etc/my.cnf:
default-character-set = cp1251

2, самый рациональный: в начало дампа добавить строку
SET NAMES cp1251
Эта же команда должна(!) выполняться каждый раз после подключения движка сайта к базе данных, для стабильной работе движка при любых настройках мускула (дядьки, которые писали koobi об этом не подумали).

Дикс
29.02.2008, 08:04
помогите разобраться с кодировкой.

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

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

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

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

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

Ershik
03.03.2008, 17:40
У меня тоже проблема решилась.
В базе данных исправил кодировку cp1251 на utf8. Все заработало стабильно.

mr.The
03.03.2008, 18:04
mysql_query("SET NAMES CP1251");
mysql_query("SET COLLATION_CONNECTION=CP1251_GENERAL_CI");

заюзать сразу после коннекта с БД.

GrisS
07.03.2008, 00:27
Здраствуйте ребятя, родскажите пожалюсто где надо исправить или добавить charset штобы вопрос (загаловка) в Poll отабражалось правилно? сейчась видно примерно так :( ალოჰა

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

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

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

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

DCRM
07.03.2008, 01:38
самый рациональный: в начало дампа добавить строку
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. Надеюсь не переборщил с атрибутами :)

Helios
07.03.2008, 02:47
Не советовал бы я мускул затачивать специально под cp1251 - как ни крути, а все идет к повсеместному использованию юникода. Большинство новых и продвинутых движков работают именно на нем, особенно когда речь заходит о мультиязычности.
Короче говоря, мой совет - использовать utf-8

DCRM
07.03.2008, 03:36
utf-8... Пусть будет Юникод) Это просто к примеру написал... как говориться если ничего не переубеждает Мускул, то мы переубедим его по своему :p

GrisS
07.03.2008, 13:03
в базе у меня всё впорядке, у меня вся база в уникоде.

я начил весь koobi перевод на грузинском языке, всё перерыл, все фаилы в templates/standard/page переделал так: charset=utf-8
проблема в том что, в верхнем панели и глава опроса грузинские буквы не видны,

вот Screenshot -> http://img78.imageshack.us/img78/3493/src016lc.jpg

просто не нашол, нужно в некоторых фаилах или изменить или дописать это

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

помогите пожалюсто, очен нужно.

NOmeR1
07.03.2008, 13:22
GrisS, в твоём случае скорее всего символы типа ა в коде написаны &amp;#4304, то есть идёт замена символов. Такое бывает при фильтровании данных. Иногда трудно понять, где данные фильтруются. Обычно на выводе, но они ведь могут быть записаны в базе данных уже такими. Посмотри сорс и скажи где и как.

GrisS
07.03.2008, 14:15
Ранше ставил ранную версию и ранше както зделал всё это, а сейчас просто с ума сашол несмог некак :(

столко пчп не знаю штобы в филтрациях рылся, просто подскажите кто знает пожалуйсто шаблон которий выводит POll

до голосования:
http://img230.imageshack.us/img230/4516/src03ay0.jpg
после голосования:
http://img524.imageshack.us/img524/7071/src02tz0.jpg
и в архив:
http://img230.imageshack.us/img230/9260/src04yv5.jpg

Helios
07.03.2008, 15:36
смотри в /templates/<template>/poll/ файлики
poll.tpl
poll_archive.tpl
poll_detail.tpl
poll_result.tpl
poll_result_navi.tpl
showpoll.tpl

Еще одно западло закралось в файле functions/Func.Session.php
Там забыли прописать SET NAMES, из-за этого бывают бока в магазине.

GrisS
10.03.2008, 01:56
добавление мета тега в /templates/<template>/poll/ файлики

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

непомогло :(

-----------

когда в админке в "Редактировать опрос"

в Название вожу юникод симболы в админке видно так как надо: http://img256.imageshack.us/img256/3980/src02cj2.jpg

в базе видно так: http://img256.imageshack.us/img256/5636/src03fy6.jpg

подскажите кокоий шаблон отвечает збора Название полла с базы?
потомучто как выдно в базе, так и видно в полле...

http://img524.imageshack.us/img524/7071/src02tz0.jpg

у меня всся база utf8_general_ci