Помогите срочно (кодировки в mysql)

123
ciber
На сайте с 04.01.2008
Offline
215
#11
Neft:
кстати, смотрю содержание таблиц... там то все по русски импортнулось...... а вот в браузере криво отображается. где ж это поменять?

SET NAMES 'cp-1251'

такой sql сразу после коннекта

[Удален]
#12
ciber:
SET NAMES 'cp-1251'

такой sql сразу после коннекта

сделал так

$$link = mysql_pconnect($server, $username, $password);

SET NAMES 'cp-1251';

получил так

Parse error: syntax error, unexpected T_STRING in /home/user/public_html/inc/xtc_db_connect.inc.php on line 23

Alexey Levin
На сайте с 17.07.2007
Offline
188
#13

Посмотрите непосредственно в phpmyadmin в полях русские символы нормально отображаются?

Один поисковый запрос занимает больше вычислений, чем отправка человека на Луну.
[Удален]
#14
topy:
Neft, MauzZzeR,
перед
mysql_select_db();

напишите
mysql_query("/*!40101 SET NAMES 'cp1251' */") or die("Error: " . mysql_error());


Помогает если у вас все выглядит вот так: ????? ?????????????? ???????? ?? ?????????? ????????? ??????

у меня именно эти вопросики появляются. счас попробую ваш вариант

ciber
На сайте с 04.01.2008
Offline
215
#15
Neft:
сделал так
$$link = mysql_pconnect($server, $username, $password);
SET NAMES 'cp-1251';
получил так
Parse error: syntax error, unexpected T_STRING in /home/user/public_html/inc/xtc_db_connect.inc.php on line 23

блин, это запрос в базу а не иструкция PHP )))

MauzZzeR
На сайте с 12.02.2008
Offline
95
#16
topy:
Neft, MauzZzeR,
перед
mysql_select_db();

напишите
mysql_query("/*!40101 SET NAMES 'cp1251' */") or die("Error: " . mysql_error());


Помогает если у вас все выглядит вот так: ????? ?????????????? ???????? ?? ?????????? ????????? ??????

Сори что туплю, не можна поподробнее где это вводить нужно?

phpMyAdmin - выбрать нужную базу - дальше?

[Удален]
#17
ciber:
блин, это запрос в базу а не иструкция PHP )))

сорри, туповат я в этом деле))) сложно сразу написать что то, о чем только чуток читал но ни разу не делал))

Neft добавил 18.03.2008 в 01:03

topy:
Neft, MauzZzeR,
перед
mysql_select_db();

напишите
mysql_query("/*!40101 SET NAMES 'cp1251' */") or die("Error: " . mysql_error());


Помогает если у вас все выглядит вот так: ????? ?????????????? ???????? ?? ?????????? ????????? ??????

ваш вариант отлично заработал, у вас написано так, что осталось только вставить код и вуаля))

один вопрос возник. В коде есть функция, в которой один только ретурн. так сработает же?

function xtc_db_select_db($database) {

mysql_query("/*!40101 SET NAMES 'cp1251' */") or die("Error: " . mysql_error());

return mysql_select_db($database);

}

Neft добавил 18.03.2008 в 01:04

MauzZzeR:
Сори что туплю, не можна поподробнее где это вводить нужно?
phpMyAdmin - выбрать нужную базу - дальше?

это в файлах сайта уже надо делать

Neft добавил 18.03.2008 в 01:07

всем огоромное спасибо, что выручили в столь поздний час, не пришлось домен на старый хостинг обратно перенапрвлять

MauzZzeR
На сайте с 12.02.2008
Offline
95
#18
Neft:

это в файлах сайта уже надо делать

ммм, в каких именно.

кароче я тут глянул в базу и чето вообще не вяжется

Кодировка форума в УТФ, сайта вообще в какомто латин...

Пробовал все на утф поменять в ворде, но не помогло...

Эх.. как же все запутано.. 😕

[Удален]
#19
MauzZzeR:
ммм, в каких именно.
кароче я тут глянул в базу и чето вообще не вяжется

Кодировка форума в УТФ, сайта вообще в какомто латин...
Пробовал все на утф поменять в ворде, но не помогло...
Эх.. как же все запутано.. 😕

у нас с тобой ситуации разные, у меня хоть база сама в нужной кодировке была. я хз как профи поступают в такой ситуации, но мне кажется тебе нужно снести все таблички, поставить кодровку базу cp1251_general_ci и после этого импортировать файл

Neft добавил 18.03.2008 в 01:16

а там уж посмотреть содержимое таблиц, если там все будет нормально, а сайт отображается криво, то лечиться так же как и я

A2
На сайте с 18.03.2008
Offline
12
#20
MauzZzeR:
Кодировка форума в УТФ, сайта вообще в какомто латин...

Скачай дампер. В файле dumper.php нужно указать нужные кодировки.

define('CHARSET', 'auto');

define('RESTORE_CHARSET', 'forced->cp1251');

После чего заливаешь файл на сайт и запускаешь, вводишь логин/пароль к MySQL.

Выбираешь базу и в фильтре таблиц указываешь e107_*

После чего делаешь бэкап, дампер сделает бэкап (желательно скачать этот файл и убедиться что русские буквы там нормально сохранены).

После чего выбираешь базу и этот файл бэкапа и восстанавливаешь, дампер при этом поправит кодировки с latin1 на cp1251.

Далее нужно во всех php-файлах cms'ки, где вызывается функция mysql_connect, обычно перед вызовом mysql_select_db добавить следующую строку:

mysql_query("/*!40101 SET NAMES 'cp1251' */") or die("Error: " . mysql_error());

Что касается UTF, то можно конечно и в неё конвертнуть, но там еще и ленг файлы конвертить нужно.

123

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий