Управление файлами cookie, которые используются для рекламы, таких как персонализация рекламы, ремаркетинг и анализ эффективности рекламы.
|
Neverov.net
04.07.2016 12:27
0
|
Сделал всё как пишется http://www.cyberforum.ru/php-database/thread198468.html.
1) Все php фалы настроены в NotePad++ на utf-8 без bom 2) В html страницах везде прописано meta charset= utf-8 3) Все возможные функции по определению кодировки в PHP выдают что строки которые пишутся в БД в кодировке utf-8 4) В phpMeAdmin во всех настройках таблиц стоит utf-8 general ci 6) На всякий случай в код PHP добавлял строки: mysql_set_charset( 'utf8' ); iconv( 'cp1251', 'utf-8', $_POST['message'] ); И всё равно вот такой бред (картинка 2) Кто-то может чем-то помочь ? Т.е. в phpMeAdmin отображаются иероглифы, а если вывести запись на сайт то отображается как надо. [[upload]2.JPG[[/upload]] [[upload]1.JPG[[/upload]] |
|
Roman P.
04.07.2016 12:39
0
|
Скрипт уже изначально в базу записывает данные в неверной кодировке судя по второму скриншоту.
Попробуйте сделать примерно так: // Подключаемся к mysql серверу mysql_query("set character_set_client='utf8'"); mysql_query("set character_set_results='utf8'"); mysql_query("set collation_connection='utf8_general_ci'"); либо, если используете PDO: $db = new PDO('mysql:host=localhost; port=3306; dbname=something', 'root', '', array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8")); А еще все html файлы тоже сохранить в utf8 без bom в дополнение к charset в тегах head. Закомментируйте или уберите: iconv('cp1251', 'utf-8', $_POST['message']); |
|
Neverov.net
04.07.2016 12:43
0
|
Сделал. У меня нет HTML файлов, только php
Не помогло. Разве не должна была эта строчка решить проблему (iconv( 'cp1251', 'utf-8', $_POST['message'] );) ? |
|
Neverov.net
04.07.2016 12:51
0
|
iconv( 'cp1251', 'utf-8', $_POST['message'] );
Убрал её изначально не было. Один из советов на форуме. Не реагирует на это никак. PDO не использую. Первый раз вижу )) |
|
Roman P.
04.07.2016 13:14
0
|
Это какая-то готовая CMS либо самописная?
|
|
Neverov.net
04.07.2016 13:33
0
|
Самописная.
Просто, всё что мог найти найти по данной теме на форумах уже применил. Единственное что нету доступа к Файл конфигурации MySQL: my.cnf (( |
|
vivasoft
04.07.2016 14:16
0
|
Если вам нужна
iconv('cp1251', 'utf-8', $_POST['message']); Тогда что-то не так. Совсем не так. В phpMeAdmin во всех настройках таблиц стоит utf-8 general ci© Neverov А на колонках? MySQL позволяет задать для колонки свою кодировку. С какой кодировкой отправляеться форма? Ее можно ж тоже поменять :) Линк на страничку дадите?) |
|
Neverov.net
04.07.2016 14:20
0
|
Там внизу:
$Row5 - переменную ввел в БД на русском через phpMyAdmin $Row6 и $Row7 - переменные вводились в БД на русском с формы сайта Регулярка на всех полях пока стоит такая !ereg("^[a-zA-zа-яА-Я_]{1,35}$". Это если вдруг номер телефона в цифрах вбивать будете )) "С какой кодировкой отправляеться форма? Ее можно ж тоже поменять :)" Не знаю, сайт в кодировке UTF-8 а как задать кодировку форме я не знаю. (в .htaccess ".AddDefaultCharset utf-8" в начале кода php "header("Content-Type: text/html; charset=utf-8");" и в мета "meta charset="utf-8" /" обратную черту ставлю несмотря на то что сайт типа в HTML5, потому что нравится ))) Встречал на форумах что полезно.) [[upload]1.JPG[[/upload]] [[upload]3.JPG[[/upload]] |
|
Neverov.net
04.07.2016 15:31
0
|
Если в БД вбить на русском текст и вывести на сайт то вот такая фигня. (рисунок ниже)
Дайте мне доступ к Файл конфигурации MySQL: my.cnf !!! Или идти бубен покупать )) cdn.adm.tools/forum_message/0393/98/1.JPG |
|
rudenko
04.07.2016 15:57
1
|
Есть подозрение, что вы используете для работы с БД библиотеку mysqli, а настройки передаете mysql функциями. Поэтому все и не работает. Запросы идут через одну библиотеку, а настройки через другую.
Исправьте все mysql_query на mysqli_query |
|
Neverov.net
04.07.2016 16:06
0
|
Всё решилась, проблема
mysqli_set_charset($CONNECT, "utf8"); И чего это строчка такая секретная ??? Весь день убил на решение этой проблемы. И всё таки я не понимаю почему без неё не работает нормально. |
|
vivasoft
04.07.2016 17:29
1
|
И всё таки я не понимаю почему без неё не работает нормально. © Neverov mysql, mysqli, pdo - три независимые друг от друга библиотеки доступа. Использовать нужно только одну. Более того у mysqli есть как ООП так и процедурный вариант и пересекать их нельзя. P.S. я думаю будет полезно прочитать и зазубрить www.phptherightway.com |
|
Neverov.net
04.07.2016 19:33
0
|
Будущее за ООП ??? )))
|
|
vivasoft
05.07.2016 08:42
1
|
Будущее за ООП ??? ))) © Neverov Нет конечно, будущее за мозгами) Я надеюсь вы понимаете что ООП - просто еще один инструмент. Что-то удобней реализовать в процедурном стиле что то удобней в ООП. И для новичков не рекомендуется их соединять - либо все в одном либо все в другом. Лагерь воинственных процедурников: blogerator.ru/page/oop_why-objects-have-failed |
|
Neverov.net
05.07.2016 09:08
1
|
Ну мозги само собой.
Да понимаю, просто много уже встречал про ООП и в основном что то типа (это новый этап в развитии программирования). Но успел заметить что для простых задач он слишком сложный. Спасибо за статейку, очень интересная. |
|
vivasoft
05.07.2016 12:10
0
|
Но успел заметить что для простых задач он слишком сложный.© Neverov Не только. "Узкие участки" которые создают самую большую нагрузку просто переписав в процедурном стиле без глобальной смени логики можно ускорить - пропадет оверхед что появляется при использование классов и т.п. но такой код сложней поддерживать. А вообще ето очень обширная тема ;) |
Тема закрыта.