Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Неправильная кодировка русских символов в базе данных (https://forum.antichat.xyz/showthread.php?t=62993)

Ershik 28.02.2008 18:37

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

mysql set name cp1251
не помогло.

Sharky 28.02.2008 21:16

Цитата:

Сообщение от Ershik
У меня проблема 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

PHP код:

mysql_query("SET NAMES CP1251");
mysql_query("SET COLLATION_CONNECTION=CP1251_GENERAL_CI"); 

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

GrisS 07.03.2008 00:27

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

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

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

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

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

DCRM 07.03.2008 01:38

Цитата:

Сообщение от 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. Надеюсь не переборщил с атрибутами :)

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, в твоём случае скорее всего символы типа &#4304 в коде написаны &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


Время: 12:33