UTF-8 - CP1251 битые символы

Toxic_Cat

Новичок
UTF-8 - CP1251 битые символы

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

Англоязычные символы отлично себя чувствуют, а вот русскоязычные это кошмар.
$text = iconv("UTF-8", "CP1251", $text);
Вот не понимаю, почему буква "ш" - битая... (еще говорят что бьется "И" но как ни странно в тексте большой "И" не встречается)

Помогите, плиз, решить задачу.
Я вижу один вариант:
- str_replace заменяем символы будущей "ш" и "И" на уникальный набор символов (допустим "ш" => "...", "И" => "....")
- iconv
- str_replace возвращаем буквы на место

Но вот проблема, я не могу никак понять в каком виде хранится "ш", т.е. как ее записать в блокноте для замены? Так-же и с "И"... (еще я не уверен, что только две буквы битые)

Как думаете, реально ли восстановить базу?
 

Toxic_Cat

Новичок
Автор оригинала: dimagolov
к тому, что там написано как решать твою проблему
Данные не переконвертируются ничем, видимо из-за того, что там есть битые символы изначально...
Не решение проблемы :(
 

StUV

Rotaredom
База, таблицы в cp1251_general_ci, а даннные в них фиг знает в какой кодировке.
подумай над этим
м.б. появятся светлые мысли... (в общем каша у тебя какая-то в голове)
 

Toxic_Cat

Новичок
Автор оригинала: StUV
подумай над этим
м.б. появятся светлые мысли... (в общем каша у тебя какая-то в голове)
Спасибо, только я уже все переустановил и заново настроил.

Проблема была изначально, надо было указывать правильную кодировку.
Те, данные что были записаны по идее нельзя уже восстановить. Так как не то, что кодировка не та, а данные битые.

Хотя на будущее было бы интересно услышать совет как быть в подобной проблеме :)

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

- Залил WordPress
- Поправил конфиг, за каким-то фигом сменил кодировку на CP1251
- Создал базу
- Установил
- Позыркал в базу и подметил, что тестовые темы в таблицах отображаются в виде каракулей
- Подумал "А, фигня"
- Настроил
- Напечатал две статьи
- Нажал просмотр блога и увидел белый экран
- Рылся, копался, методом проб понял что проблема в базе, т.е. ее кодировка

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

Вывод: проверяем кодировку базы и записываемых данных, если зайдя в phpMyAdmin и выполнив запрос на SELECT статей вы увидите вместо текста каракули - стоит задуматься, а все ли вы правильно сделали

P.S. возможно я просто нуб :D
 

StUV

Rotaredom
точно не нуб ;)

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

Michael_X

Новичок
а запрос вида "SET NAMES utf8" при подключении к БД не проканал?

Автор оригинала: StUV
точно не нуб ;)

а восстановлением данных после многократных перекодирований точно не должны заниматься ни пхп ни база
полностью поддерживаю )
 
Сверху