Автор Тема: Проблем с кирилица превърна в любимо зан  (Прочетена 4298 пъти)

Bogo

  • Напреднали
  • *****
  • Публикации: 632
  • Distribution: Debian
  • Window Manager: cmd
    • Профил
Колеги имам един стар блог с wordpress искам да си го възтановя но Кирилицата ми е в този вид.
Какво да правя ?

превърна в любимо занимание, очаквам
Активен

live free or die хард :)

remotexx

  • Напреднали
  • *****
  • Публикации: 3326
    • Профил
Според тоя сайт
https://www.online-decoder.com/bg
(Ползвах автоматично разпознаване)
Това е Уиндоус 1252 кодиран като УТФ8
Но понеже ние знаем че е кирилица, вероятно е уин1251 а там каквото ти сервира съдържание(то) си мисли че е уин1252 който ти го конвертира до УТФ8 да го сервира...

Откъде искаш да го фикснеш в базата данни или откъм 'сервитьора'
..ама първо ще трябва да кажеш каква е БД и какъв е CMS-а..

П.П. Сега забелязах че съм се объркал, обратното е, УТФ8 сервиран като Уин1252 (т.е. Оригинално е 1251 но разпознато като 1252 и като такова конвертирано неправилно 1252->УТФ8 който накрая е сервиран като 1252 без прекодиране), за да го обърнеш ще трябва да прекодиране обратно УТФ8 до уин1252 а после без прекодиране да укажеш че това 1252 вече е 1251 и за финал го обърни вече правилно от 1251 към УТФ8 и не се занимавай повече с кодировки...
« Последна редакция: Oct 24, 2023, 08:25 от remotexx »
Активен

remotexx

  • Напреднали
  • *****
  • Публикации: 3326
    • Профил
Сега забелязах че сайта и форума също не се разбират добре относно кирилицата напр. Сайта в секция форум ми вади това

 Проблем с кирилица ***€*µ*****€***° ** *»***±****** *·*°**, от

Докато форума ми го вади същото заглавие като

Проблем с кирилица превърна в любимо зан )

П.П. Колега а ти откъде го копна тоя текст от базата данни или от уеб страница?
Активен

Bogo

  • Напреднали
  • *****
  • Публикации: 632
  • Distribution: Debian
  • Window Manager: cmd
    • Профил
копнах го от моя стара MySQL база която работеше с wordpress преди години, викам я да си извадя стария блог от прахоляка

Благодаря ти за съвета, ще опитам

« Последна редакция: Oct 25, 2023, 00:12 от Bogo »
Активен

live free or die хард :)

remotexx

  • Напреднали
  • *****
  • Публикации: 3326
    • Профил
Колега, имай предвид че може и да не е чак толкова просто колкото изглежда, някой стъпки изискват прекодиране други не...
Аз така и не разбрах с какво я разглеждаш  тая БД (от снимката не личи кой туул е това) - питам само щото съм виждал и кофти конфигурирани утилки (и то бая) - в БД всичко си е ОК ама утилките не могат се оправят с кодировките...


Я дай резултата от
Код
GeSHi (SQL):
  1. SELECT
  2.  COLUMN_NAME,
  3.  TABLE_NAME,
  4.  CHARACTER_SET_NAME,
  5.  COLUMN_TYPE,
  6.  COLLATION_NAME
  7. FROM information_schema.COLUMNS
  8. WHERE TABLE_SCHEMA = 'your_database_name'

на по-стари версии може да пробваш със
Код
GeSHi (SQL):
  1. SHOW FULL COLUMNS FROM my_tablename;
или
Код
GeSHi (SQL):
  1. SHOW CREATE TABLE my_tablename


също така дай и изхода от следната команда за поне един ред който има текст на кирилица
Код
GeSHi (SQL):
  1. SELECT HEX(post_content), HEX(post_title) FROM mytable LIMIT 1;

--
Значи дотук предполагам че колоната е с кодировка 1252 обаче вътре байтовете са от утф8 та бързият тест е
копираш един текст може и само 2-4 символа (но да са четен брой) в текстов редактор и ги записваш като 1252 (т.е. новия/празния документ да е направен с кодировка 1252), после без да го прекодираш правиш Отваряне с кодировка и избираш утф8 (щото то си е утф8) а го записваш като 1252 (т.е. да направи прекодиране - ако редктора ти не поддържа пробвай с копи/пейст между два прозореца с различна кодировка т.е. новия/празния да е настрроен на 1252 и пействаш вътре от отворения като утф8 текст (текста няма да се промени визуално а само на диска новия файл ще е наполовина на стария) . Накрая записания вече еднобайтов 1252 му правиш Отваряне с кодировка и избираш 1251 и би трябвало вече да си е чиста кирилица вътре.
 Ако стане ще чакаме някой експерт по MySQL да каже как да го направим това през СУБД  [_]3
- имам предвид целта е да избегнем няколкото врътки с (някой стъпки с допълнителен iconv /utf8 to latin1/, други без)
(SELECT * INTO OUTFILE ...)
(LOAD DATA INFILE ... CHARACTER SET XXX

П.П. От нета изрових следното за обръщане на място /но първо бекъп/ (но не знам за/от кой версии работи и дали работи за всички видове текст или само за MEDIUMTEXT)
Код
GeSHi (SQL):
  1. mysql> ALTER TABLE `x` CHANGE `y` `y` MEDIUMBLOB;
  2. mysql> ALTER TABLE `x` CHANGE `y` `y` MEDIUMTEXT CHARACTER SET latin1 COLLATE latin1_general_ci;

« Последна редакция: Oct 25, 2023, 20:59 от remotexx »
Активен

Bogo

  • Напреднали
  • *****
  • Публикации: 632
  • Distribution: Debian
  • Window Manager: cmd
    • Профил
Скрийншота е от phpmysql
мисля първо да опитам да сложа харда да тръгне както е бил тогава, да тръгне apache2 & mysql + wordpress и с вградения в wordpress тул, да го местя, защото има и много снимки към постовете. пък да видиме дали ще стане

Благодаря за съветите !!
Активен

live free or die хард :)