Помогите с перекодированием

Что-то не работает? Пишите здесь.

Re: Помогите с перекодированием

UNREAD_POST zapimir » 28.01.2010 01:25:06

Если у хостера MySQL 4.1 и выше (что наиболее вероятно, если только ваш хостер не ценитель антиквариата), то не важно какая там у хостера кодировка, так как начиная с этой версии, любой пользователь может работать с любой кодировкой, какая ему удобна. Например, тот же дампер за один проход может заливать таблицы в абсолютно разных кодировках, например, одна таблица в latin1, другая cp1251, третья в utf8 и всё будет корректно сохранено, т.к. дампер изменяет кодировку соединения если это необходимо. И если таблица в cp1251, то дампер сначала говорит MySQL, что он сейчас будет передавать данные в cp1251, а уже потом передает сами данные (аналогично с другими кодировками).
zapimir
Site Admin
 
Сообщения: 1628
Зарегистрирован: 01.10.2009 22:39:52

Re: Помогите с перекодированием

UNREAD_POST лиса » 28.01.2010 08:22:14

zapimir , на локальном хосте у меня получалось изменить кодировку таблиц MySQL. Узнала я об этом случайно, как всегда, поэтому смогла только констатировать сей факт, не понимая, что может или нет Ваш продукт последней версии. А вот у хостера мне не удалось сделать тоже самое. Сегодня я ещё раз повторю попытку поменять кодировку у хостера и напишу по свежим наблюдениям, как бы уже, имея уверенность, что мною в дампере конфигурация выставлена правильно для такого изменения в кодировке MySQL у хостера.
лиса
 
Сообщения: 38
Зарегистрирован: 24.01.2010 09:11:10

Re: Помогите с перекодированием

UNREAD_POST лиса » 28.01.2010 10:57:56

zapimir писал(а):Как раз то что она закомментирована плохо. Это значит что скрипт не устанавливает кодировку соединения utf8, он устанавливает кодировку соединения по умолчанию (т.е. целиком зависит от настроек сервера).
В итоге форум подключается к MySQL в кодировке latin1, и MySQL думает что скрипт присылает данные в latin1, а вы присылаете в utf8.

Раскоментировала
Код: Выделить всё
$config['Mysqli']['charset'] = 'utf8';

Снесла базу форума и провела новую инсталяцию скрипта, дав возможность форуму и серверу самим определится с установкой базы под именем, что прописан в конфиге форума, соответственно, и с кодировками. Хочу отметить, что делала я это и раньше, но на память не полагалась и провела снова эксперимент. Результат тот же, а, именно, база форума не в UTF-8 как написано в файле конфигурации форума, а в latin1_swedish_ci как того хочет сервер ХАМРР, название базы дал второй "родитель" - скрипт форума. Вообще то кодировку по умолчанию можно поменять в апаче ХАМРР, но я исхожу из того, что у хостера у меня не будет такой возможности, а у него по умолчанию база в 1251.
лиса
 
Сообщения: 38
Зарегистрирован: 24.01.2010 09:11:10

Re: Помогите с перекодированием

UNREAD_POST лиса » 28.01.2010 12:14:43

Сделала дамп базы форума на сервере у хостера. Версия MySQL 5.0.26. Затем произвела импорт базы из этого же дампа в базу форума у хостера. Фактически, это соответствовало перекодировке базы. При ипорте базы из созданного дампа на вкладке дампера "импорт" я поставила галочку напротив "Коррекция кодировки" в поле "Дополнительные опции" - больше ничего не меняла. Произвела трижды импорт базы в разных кодировках.

1251 - форум виден без ошибок.
Latin1 - форум виден, но русские буквы отображаются вопросиками.
UTF-8 - форум почти не виден (ни меню, ничего нет). Осталась только табличка на инглиш, из которой следовало, что я забанена на форуме :mrgreen:

При этом, кодировка таблиц MySQL у хостера действительно менялась и соответствовала той что была установлена в дампере при импорте базы форума. ;)
лиса
 
Сообщения: 38
Зарегистрирован: 24.01.2010 09:11:10

Re: Помогите с перекодированием

UNREAD_POST лиса » 29.01.2010 17:26:40

zapimir писал(а):Зайдите в таблицы vb_post или vb_thread через PMA, и посмотрите нормально ли показываются русские буквы.

А там, в базе, русских букв и не должно быть, потому что форум у меня в UTF-8. Ну, или по другому, русские буквы отображаются в специальном коде, а не в виде букв.
лиса
 
Сообщения: 38
Зарегистрирован: 24.01.2010 09:11:10

Re: Помогите с перекодированием

UNREAD_POST zapimir » 02.02.2010 07:37:19

Нет, русские буквы отображаются правильно в UTF-8 в PMA (да и почему это они в форуме должны отражаться как буквы, а в PMA как коды?). Неправильно они отображаются только в случае неправильного добавления записи.

Установите в чистую форум, добавьте тестовое сообщение с русским текстом, потом пришлите мне дамп сделанный в SXD 205 с кодировкой авто, я гляну, пришлю вам поправленный дамп, который будет работать не зависимо от хостинга и заодно подправленный файл для форума. Ну и опишу как это сделать если понадобится в дальнейшем.
zapimir
Site Admin
 
Сообщения: 1628
Зарегистрирован: 01.10.2009 22:39:52

Re: Помогите с перекодированием

UNREAD_POST лиса » 02.02.2010 09:29:24

Спасибо огромное за предложение!!! Я постараюсь тщательно всё сделать.

К настоящему времени я перевела кодировку таблиц ХАМРР по умолчанию в ср1251 (раньше была в Latin1). Сделала я это для того что бы не перекодировать лишний раз дамп форума при переносе с локального хоста компа на виртуальный к хостеру, поскольку у последнего кодировка по умолчанию в ср1251. При этом, когда в ХАМРР по умолчанию кодировка в Latin1, то при создании базы форума в ХАМРР в кодировке ср1251 как в ручную, так и дампером при переносе базы от хостера в кодировке ср1251, в этих случаях вместо русских букв отображались вопросики, а в РМА база была в ср1251.

Сейчас, когда В ХАМРР установлена кодировка в ср1251 по умолчанию, дампер работает без режима перекодирования, база форума переносится с компа и обратно без проблем. Собственно и при старой конфигурации кодировок баз, Latin1 - cp1251, я научилась переносить базу с перекодировкой с помощью дампера и последний справлялся с этим замечательно, когда им грамотно пользуешся. :mrgreen: Однако в РМА текст был не только не русскими буквами, но и не в UTF-8. Сейчас, после смены кодировки по умолчанию в ХАМРР в ср1251, текст идёт в PMA в кодировке UTF-8 (кодировка форума).

Однако, при многократной установке форума каждый раз в новую базу, которая создавалась автоматически скриптом форума и ХАМРР я наблюдала иногда сбой при инсталяции файлов XML с готовым переводом форума на русский - снова появлялись вопросики вместо русских букв. Это было редко, но было. Следовательно есть ошибки и есть проблемы с самим форумом или с тем как создаются таблицы по умолчанию в базе ХАМРР. В этом случае я вроде бы не могла навредить по причине своих плохих знаний - в РМА все таблички в ср1251. База форума вместе с сообщениями переносится без ошибок, а имею ошибку только при установке форума и то не всегда. При установке форума в ХАМРР с с его родной кодировкой в Latin1 я просто таких эксперементов с многократной установкой форума не проводила.
лиса
 
Сообщения: 38
Зарегистрирован: 24.01.2010 09:11:10

Re: Помогите с перекодированием

UNREAD_POST лиса » 03.02.2010 05:44:10

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

Код: Выделить всё
#   TC`access`cp1251_general_ci   ;
CREATE TABLE `access` (
  `userid` int(10) unsigned NOT NULL DEFAULT '0',
  `forumid` smallint(5) unsigned NOT NULL DEFAULT '0',
  `accessmask` smallint(5) unsigned NOT NULL DEFAULT '0',
  PRIMARY KEY (`userid`,`forumid`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251   ;
#   TC`adminhelp`cp1251_general_ci   ;
CREATE TABLE `adminhelp` (
  `adminhelpid` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `script` varchar(50) NOT NULL DEFAULT '',
  `action` varchar(25) NOT NULL DEFAULT '',
  `optionname` varchar(100) NOT NULL DEFAULT '',
  `displayorder` smallint(5) unsigned NOT NULL DEFAULT '1',
  `volatile` smallint(5) unsigned NOT NULL DEFAULT '0',
  `product` varchar(25) NOT NULL DEFAULT '',
  PRIMARY KEY (`adminhelpid`),
  UNIQUE KEY `phraseunique` (`script`,`action`,`optionname`)
) ENGINE=MyISAM AUTO_INCREMENT=1664 DEFAULT CHARSET=cp1251   ;


Код: Выделить всё
#   TD`post`cp1251_general_ci   ;
INSERT INTO `post` VALUES
(1,1,0,'admin',1,'test kod baza',1265135452,'Проверка отображения СЂСѓСЃСЃРєРёС… Р±СѓРєРІ. Дамп получен СЃ XAMPP РІ РєРѕРґРёСЂРѕРІРєРµ cp 1251 (auto).\n \nР СѓСЃСЃРєРёРµ Р±СѓРєРІС‹ отображаются правильно. РљРѕРґРёСЂРѕРІРєР° форума РІ UTF-8.\n \nР’С…РѕРґ РЅР° форум\n \nлогин - admin\nпароль - 1251',1,0,'127.0.0.2',0,1,0,0,0)   ;
лиса
 
Сообщения: 38
Зарегистрирован: 24.01.2010 09:11:10

Re: Помогите с перекодированием

UNREAD_POST лиса » 05.02.2010 10:03:15

Раз не отвечаете, то буду считать, что по умолчанию у меня с кодировками теперь всё правильно. Но в ПМА русские буквы всё равно отображаются только в том виде, что я привела выше в коде поста.
лиса
 
Сообщения: 38
Зарегистрирован: 24.01.2010 09:11:10

Re: Помогите с перекодированием

UNREAD_POST zapimir » 06.02.2010 22:35:19

Извиняюсь за задержку с ответом. Ответил по личке.
Лучше всё же прислать дамп, тогда просто перешлю Вам исправленный.
А то что Вы выложили очень похоже, на случай когда у таблиц кодировка cp1251, кодировка соединения latin1, а сами данные при этом в utf8. Из-за этого ни в дампе, ни в phpmyadmin русский текст не виден.
zapimir
Site Admin
 
Сообщения: 1628
Зарегистрирован: 01.10.2009 22:39:52

Re: Помогите с перекодированием

UNREAD_POST лиса » 07.02.2010 23:49:01

Мой вопрос разрешился. Проблема с кодировками была на моём сайте. После устранения ошибки сбои в кодировках исчезли. А с помощью всемогущего дампера я могу теперь переносить базу форума в нужной мне кодировке, а не в той что есть по умолчанию у хостера.

Спасибо zapimir за его продукт и отдельно за помощь и внимание оказанное мне в такой неразрешимой для меня проблеме с кодировками базы.
лиса
 
Сообщения: 38
Зарегистрирован: 24.01.2010 09:11:10

หวยไทย ไม่มีเลขอั้น ตรวจหวย เล็ขเด็ด เลขดัง สนใจเข้ากลุ่มฟรี

UNREAD_POST riiya819 » 18.08.2020 08:59:18

Изображение
THAI LOTTERY แทงหวยไทย ล็อตเตรี่ไทย thai lottery หวยมาเลย์ หวยเวียดนาม แบบไม่มีเลขอั้นที่นี่ ที่เดียว สามารถเลือกแทงหวยไทย ได้หลายแบบ เช่น แทงสามตัวหน้า,แทงเล็ก-ใหญ่, พร้อมส่วนลดมากกว่าที่อื่นๆ (ข้อมูลอาจมีการเปลี่ยนแปลง) สนใจสมัครเล่นหวย เข้ากลุ่มหวย กลุ่มเลขดัง กลุ่มเลขเด็ด ฟรี ตรวจสอบรายการแทงได้ง่าย ตรวจหวย ผลหวย ได้ที่หน้าเว็บ หน้า timeline ได้ทุกงวด สนใจสมัครเล่นหวยไทย หวยเวียดนาม หวยมาเลย์ กรุณาสอบถามพนักงาน Callcenter บริการตลอด 24 ชั่วโมง ที่ไลน์ @uplay365 หรือคลิก https://lin.ee/t44gdXJ
ทั้งหมดนี้สามารถเล่นได้ เพียงการสมัครเพียงครั้งเดียว หากยังไม่มั่นใจ ทางเรามีรีวิว สลิป ยืนยันการทำรายการจริง จากลูกค้า สมาชิกที่เล่นได้ แล้วโอนกลับจริง ให้ลองตัดสินใจกัน สนใจสมัคร แอดไลน์ ID : @UPLAY365 [มี @ นำหน้า] หรือเข้าเว็บไซต์ https://uplay365.com ลิงค์ทางเข้าแบบมือถือ https://m.uplay365.com
riiya819
 
Сообщения: 6
Зарегистрирован: 16.07.2020 06:09:04

Пред.

Вернуться в Проблемы и баги

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot], SemrushBot и гости: 5

Яндекс.Метрика