Помощь Танцы с бубном, знаки вопроса и как это всё работает ??

Статус
В этой теме нельзя размещать новые ответы.

zapaza

Писатель
Регистрация
24 Янв 2009
Сообщения
8
Реакции
0
Вобщем у меня проблема в том что хостинг на отрез не поддерживает файлы атачес и я уже заморился переписывать и переустанавливать базу для SE.

История такова:
1-Ставлю движок -- ОК
2-Ставлю русификатор ядра
Перевод_1251.txt
начало такое:

Код:
-- Структура таблицы `se_languagevars`
--

CREATE TABLE IF NOT EXISTS `se_languagevars` (
`languagevar_id` int(9) NOT NULL default '0',
`languagevar_language_id` int(9) NOT NULL default '0',
`languagevar_value` text collate utf8_unicode_ci NOT NULL,
`languagevar_default` text collate utf8_unicode_ci NOT NULL,
KEY `INDEX` (`languagevar_id`,`languagevar_language_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

--
-- Дамп данных таблицы `se_languagevars`
--

INSERT INTO `se_languagevars` (`languagevar_id`, `languagevar_language_id`, `languagevar_value`, `languagevar_default`) VALUES
(1, 1, 'Admin Panel', 'admin_header_global, '),
(2, 1, 'Network Management', 'admin_header'),
......................

-- всё пока ОК
3-Ставлю русификацию плагинов и тут начинаются вопросы вместо букв в переводе плагина :confused:

Как всё зделать в той кодировке что и русик ядра скрипта веть он отлично становится :thenks:
 
если MySQL пятой версии, то сразу после mysql_connect() надо написать mysql_query("set names 'cp1251'");
 
если MySQL пятой версии, то сразу после mysql_connect() надо написать mysql_query("set names 'cp1251'");
Да пятёрка но щас погляжу чё и как ((

--------------------

если ты имеешь в виду ...\include\class_database.php

function database_connect($database_host, $database_username, $database_password)
{
return mysql_connect($database_host, $database_username, $database_password, TRUE);
}

и зделать так

function database_connect($database_host, $database_username, $database_password)
{
return mysql_connect($database_host, $database_username, $database_password, TRUE);
mysql_query("set names 'cp1251'");
}
то не помогло.

Когда руками правлю то русский работает а когда заливаю в тупую в базу перевод то одни вопросы (((
 
Кодировку файлов поменяй, у меня получилось. ANSI на UTF-8. Скорее хост поддерживает мускул на UTF.
 
такая же ерунда, стоит SE 3.07, ядро русифицируется, а дальше танцы - из 8 предустановленных плагинов удалось научить русскому только 3, с остальными полная Ж :( при импорте вижу Duplicate entry или syntax error
 
такая же ерунда, стоит SE 3.07, ядро русифицируется, а дальше танцы - из 8 предустановленных плагинов удалось научить русскому только 3, с остальными полная Ж :( при импорте вижу Duplicate entry или syntax error
Как я выяснил - только русификатор ядра путёвый. Плагины лучше не поленись да сам переводи, через админку, т.к. существующие переводы плагинов ПРОВЕРЕНО - кривые ... :at:

А может найдутся добрые саморитяне и поделятся своими переводами последних версий плагинов? :-]
 
function database_connect($database_host, $database_username, $database_password)
{
return mysql_connect($database_host, $database_username, $database_password, TRUE);
mysql_query("set names 'cp1251'");
}

не помогло.
(((

Так и не поможет, ведь return выполнится и до установки кодировки очередь не дойдет. Выполняйте вторую строку в скрипте после вызова функции.
 
Вобще говоря функция глупая :) Смысл ее вобще был делать, заменить mysql_connect на database_connect :)


Вот пример моей функции:

function dbconnect($db_host, $db_user, $db_pass, $db_name) {
$db_connect = @mysql_connect($db_host, $db_user, $db_pass);
$db_select = @mysql_select_db($db_name);
@mysql_query ("SET NAMES cp1251");
@mysql_query ("SET CHARACTER SET cp1251");
@mysql_query ("SET character_set_connection = cp1251");
@mysql_query ("SET collation_connection = cp1251");
if (!$db_connect) {
die("<div style='font-family:Verdana;font-size:11px;text-align:center;'><b>Unable to establish connection to MySQL</b><br>".mysql_errno()." : ".mysql_error()."</div>");
} elseif (!$db_select) {
die("<div style='font-family:Verdana;font-size:11px;text-align:center;'><b>Unable to select MySQL database</b><br>".mysql_errno()." : ".mysql_error()."</div>");
}
}


Для функции которая приведена можно поступить так

function database_connect($database_host, $database_username, $database_password)
{
if(mysql_connect($database_host, $database_username, $database_password, TRUE))
{
@mysql_query ("SET NAMES cp1251");
@mysql_query ("SET CHARACTER SET cp1251");
@mysql_query ("SET character_set_connection = cp1251");
@mysql_query ("SET collation_connection = cp1251");
return true;
}
else {return false;}
}
 
Я почти все руками переводил!
 
Я почти все руками переводил!

это мазохизм.

у меня ничего не получилось с переводом SE3. если импортировать в базу запрос то в базе все по русски написано, а на сайте крякозябли. не помогает смена кодировки в базе. если в ручную переводить то в базе появляются знаки вопроса, а на сайте все норм. есть какое нибудь решение чтоб не в ручную переводить, 1200 строк переводить = самоубийство.


ЗЫ: В общем решил проблему, помог phpmyadmin, пришлось его ставить. Почемуто навикат не мог с этим справиться.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху