Приветствую вас, уважаемые форумчане. Необходим инструмент, в который я мог бы загнать огромный (более 10 000 строк) текстовый фрагмент и указать кодировку, в которую нужно декодировать этот текст. Прошу посоветовать программу которая не зависнет, если такие существуют. Заранее благодарю...
iconv на гигабайтах не поперхнется Код (Text): iconv -f windows-1251 -t utf-8 file.txt > newfile.txt это из windows-1251 в utf-8.
Прошу прощения за то, что не до конца описал свою проблему. Голова уставшая. Дело в том что у меня есть файл SQL. В нём некорректно отображаются кириллические символы. Благодаря онлайн декодерам удалось узнать изначальную кодировку кириллического текста. Теперь нужно проделать то же самое, только не с маленьким кусочком текста, а с огромным файлом. Я хочу сначала превратить крокозяблики в нормальный текст, а потом уже его переводить в utf-8.
Пробовал все кириллические кодировки которые есть в NotePad++. Онлайн декодер показал кодировку которой нет в нодпаде. ISO 8859-1
Код (Text): iconv -f ISO-8859-1 -t UTF-8 file.txt > newfile.txt но кириллица это скорее всего 8859-5 Код (Text): iconv -f ISO-8859-5 -t UTF-8 file.txt > newfile.txt
@igordata в этой ситуации субд работает как iconv, т.е. если переключить кодировку в браузере то увидишь все верно, только вот статика превратится в крокозябры.
Есть хорошая программа sypex dumper, с помощью нее можно импортировать и экспортировать БД в нужной кодировке.
@zahermaher спасибо тебе огромное, человечище. Помогла твоя программа + вот эта статья: https://sypex.net/ru/encoding/
справился и чудесно. но если бы ты освоил консольный mysql, ты бы поднялся на уровень выше. можно даже не конвертировать ничего, надо указать с какой кодировкой работаешь, остальное мускуль сам сделает. Код (Text): $ mysql -u username -p Enter password: mysql[(none)]> use mydatabase; mysql[mydatabase]> set names 'latin1'; mysql[mydatabase]> source myhugefile.sql; или Код (Text): $ mysql -u username -p mydatabase --default-character-set=latin1 < myhugefile.sql Enter password: --- Добавлено --- P.S. 8859-1, latin1 и CP1252 это вроде одно и то же, только в разных контекстах приняты разные имена. для мускуля принято писать 'latin1'
@artoodetoo Когда я написал, что изначальная кодировка 8859-1 - я ошибася думая так. На самом деле изначальная кодировка cp1251, которая была переведена в 8859-1 из-за чего и были крокозяблики. А за совет спасибо
следи за тем, чтобы совпадала кодировка подключения, хранения, пхп вывода, и браузер правильно это всё интерпретировал. Проще говоря, юзай только utf-8.