Кодировка из базы данных

warobushek

Новичок
Кодировка из базы данных

SELECT из базы возвращает данные в кодировке CP1251.
На сайте используется UTF8.

Можно ли избежать повсеместной вставки
PHP:
iconv('cp1251','utf-8',$str);
?
Т.е. сделать так, чтобы данные приходили сразу в UTF, не меняя кодировку в базе?
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Странное желание хранить все не так как надо и чтобы все работало.
 

FB3

Новичок
+ mysql_set_charset()

http://dev.mysql.com/doc/refman/5.1/en/charset-connection.html
 

m.vasin

Новичок
c0dex, ну тут вопрос не в странностях. Просто ставят перед фактом: база такая - сайт такой, делай чтоб было так.

А решение твоей проблемы тут->http://php-myadmin.ru/learning/mysql-cir.html
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Такие факты отметаются тем, что это через жопу и нормальный работник сразу разъяснит почему и начальник, если он не долба... - поймет.
 

m.vasin

Новичок
а если база крутится еще много где... и проще заморочиться с сайтом и сет намесом, чем переделывать все остальное
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
а если база крутится еще много где...
не убедил...

и проще заморочиться с сайтом и сет намесом, чем переделывать все остальное
Это не значит, что у тебя потом все не встанет раком и не придется переделывать по-нормальному.

Ага?
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Не перестаю удивляться желаниям ходить на костылях, вместо того, чтоб потратить время и бегать на своих двух.
Тем более 100500 раз потраченное время вернется в будущем.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Просто я уже на своей шкуре столкнулся с тем, что придя работать в свою компанию, обнаружил дикие баги с кодировкой, которые пришлось лечить тем, что я писал конвертер для дампа и перезаливал базу снова, перенастраивал рабочую базу и апач, который все конвертил в utf8.

Потратил два дня, но сейчас даже намека на iconv где бы то ни было нет)
 

dimagolov

Новичок
warobushek, в iconv('cp1251','utf-8',$str); проблем нет никаких. проблема есть в iconv('utf-8','cp1251',$str), причем нерешаемая.
 

warobushek

Новичок
Спасибо большое. Я даже удивлен такому количеству постов за столь короткое время.

Я бы с радостью прямо сейчас конвертнул базу. Дело в том, что она используется старым сайтом, который на джумле, где используется cp1251.

Сейчас переношу модуль, который эту базу юзает, на друпал, где utf-8.


Спасибо, буду смотреть.
 

vovanium

Новичок
warobushek
Тебе еще в самом начале сказали, юзай SET NAMES или mysql_set_charset, и будет тебе счастье mysql сам будет конвертить всё в запрошенную клиентом кодировку и обратно.
 

LONGMAN

Dark Side of the Moon..
warobushek
А с каких пор джумла использует кодировку cp1251? :)
 

warobushek

Новичок
LONGMAN
всмысле, кодировка на веб-страницах была win1251, поэтому и база из которой брались данные, была сделана в соотв. код-ке.

vovanium
Cпасибо. Я не слепой. Так и сделал. За что и благодарю.
 
Сверху