Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Проблема переноса сайта с винды на Ubuntu  (Прочитано 892 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн alexandershad

  • Автор темы
  • Новичок
  • *
  • Сообщений: 21
  • о.О
    • Просмотр профиля
Здравствуйте.

У меня есть такая проблема.

Я писал, и поддерживаю сайт местного ЖЭУ (http://jey13.ru/), ну так вот.. делал я это на Windows используя Денвер, соответственно все MySQL скрипты с текстом русским.

На свой нетбук установил Ubuntu netbook 10.04, поднял lamp, установил phpmyAdmin, создал базу с кодировкой cp_1251_general_ci (пишу по памяти мож в написании ошибся), все скрипты прошли хорошо, я все прекрасно вижу в базе. в смысле тексты.

Переношу свой проект на Ubuntu. запускаю в файрфоксе http://localhost и он у меня цепляется..
Но появляются куча но.
1. Не полностью подгрузились картинки почему то..
2. Тексты которые были в пхп вывелись, ну например $m[1]='привет мир'; на сайте вышел как "привет мир", все нормально. Но тексты из базы вышли как "?? ?? ?? ?? ? ?? ? ?? ? ?? ? ? ?? ? ?? ?? ??" хотя непонятно.. тексты пхп ведь тоже на винде писались.
И есть еще одно но, но по памяти я его сейчас не скажу, позже напишу.

Ну собственно и вопросы, как победить кодировки?
При этом нужно учитывать:
1. чтобы все это потом работало на хостинге, где размещен действующий сайт.
2. что проект будет писаться когда где  :) Т.е. иногда обновления для сайта будут проходить на винде и заливаться на хостинг, иногда на убунте.. и тоже заливаться на хостинг..

Реально ли так сделать?   ???



Пользователь решил продолжить мысль 28 Май 2010, 02:19:44:
Забыл сказать, в Linux я особо чайник... пару раз юзал и все )
Потихоньку тока учиться начинаю )
« Последнее редактирование: 28 Май 2010, 02:19:44 от alexandershad »
Ничто не ограничивает мысль программиста, как компилятор. (с) by ...

Оффлайн BASSON XVI

  • Участник
  • *
  • Сообщений: 132
  • Samsnug R518
    • Просмотр профиля
    • CMS S.S.Engine - бесплатный движок для твоего сайта!
Есть такая функция на пхп как mysql_set_charset();!
А вообще сразу после коннекта к бд попробуй отправить такой запрос "set names utf8" или ""set names cp1251".
Сделать это так mysql("set names utf8", $link_identifier).

P.S. Надо было изначально в проекте использовать utf8. Я тоже использовал cp1251 в винде но потом как то плавно перевел все проекты на utf под линуксом. Главное редактор не забудь настроить на использование cp1251.
« Последнее редактирование: 28 Май 2010, 03:45:43 от BASSON XVI »

Оффлайн VolCh

  • Активист
  • *
  • Сообщений: 543
    • Просмотр профиля
Рекомендуемый способ, сразу после создания подключения использовать :
mysql_set_charset('cp1251') or die("Can\'t set charset: " . mysql_error());
(or die ... в рекомендации не входит, но хорошая практика проверять возвращаемое значение)
И проверь в пхпадмин, как твоя база отображается, может создал в cp1251, а залил в ut8 или ещё что с кодировками намудрил. А вообще да, лучше всего всё на utf-8 перетаскивать, его одинаково понимают и винда, и линь, только надо настроить редакторы, чтобы BOM не вписывали в файлы (php его не любит)

Оффлайн alexandershad

  • Автор темы
  • Новичок
  • *
  • Сообщений: 21
  • о.О
    • Просмотр профиля
Есть такая функция на пхп как mysql_set_charset();!
А вообще сразу после коннекта к бд попробуй отправить такой запрос "set names utf8" или ""set names cp1251".
Сделать это так mysql("set names utf8", $link_identifier).

P.S. Надо было изначально в проекте использовать utf8. Я тоже использовал cp1251 в винде но потом как то плавно перевел все проекты на utf под линуксом. Главное редактор не забудь настроить на использование cp1251.

Спасибо, учту  :)

Пользователь решил продолжить мысль 28 Май 2010, 04:47:20:
Рекомендуемый способ, сразу после создания подключения использовать :
mysql_set_charset('cp1251') or die("Can\'t set charset: " . mysql_error());
(or die ... в рекомендации не входит, но хорошая практика проверять возвращаемое значение)
И проверь в пхпадмин, как твоя база отображается, может создал в cp1251, а залил в ut8 или ещё что с кодировками намудрил. А вообще да, лучше всего всё на utf-8 перетаскивать, его одинаково понимают и винда, и линь, только надо настроить редакторы, чтобы BOM не вписывали в файлы (php его не любит)

В пхпадмин все нормально, при обзоре таблиц, я все прекрасно вижу.
Я когда скрипты проводил, указал кодировку cp1251.
Ничто не ограничивает мысль программиста, как компилятор. (с) by ...

Оффлайн VolCh

  • Активист
  • *
  • Сообщений: 543
    • Просмотр профиля
Тогда сразу после mysql_connect(...); пиши mysql_set_charset('cp1251');

Оффлайн alexandershad

  • Автор темы
  • Новичок
  • *
  • Сообщений: 21
  • о.О
    • Просмотр профиля
Тогда сразу после mysql_connect(...); пиши mysql_set_charset('cp1251');


Ок, вечером, после работы, проверю  :)
Ничто не ограничивает мысль программиста, как компилятор. (с) by ...

Оффлайн truegeek

  • FPGA Designer
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 4214
  • аЦкий схемотехник
    • Просмотр профиля
была у меня очно такая же проблема, вот решение
https://forum.ubuntu.ru/index.php?topic=2814.msg401077#msg401077

Онлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 25960
    • Просмотр профиля
Грубовато, но действенно.
А вообще надо использовать mysqli
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

 

Страница сгенерирована за 0.058 секунд. Запросов: 23.