Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
0 / 0 / 2
Регистрация: 29.12.2016
Сообщений: 22
MySQL

И снова избитая задача с кодировкой

29.12.2016, 17:09. Показов 620. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер, люди.
Не очень давно пришлось взять на себя некоторый проект для работы с заявками на php и MySql, который не является моей разработкой.
Проект реализован с использование MVC шаблона.
index.php в корне содержит первой строкой
PHP
1
header('Content-Type:text/html; charset=UTF-8');
В .htaccess
AddDefaultCharset utf-8
php_value default_charset utf-8

Все скрипты в проекте в кодировке utf8 без BOM.
Работа с базой происходит с использование PDO.
Инициализация соединения:
PHP
1
2
$options = array( PDO:: MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8');
$this->pdo = new PDO($this->conn, $this->login, $this->password, $options);
Данные в таблицу добавляются через процедуру:
MySQL
1
PROCEDURE `_ticketupd`(IN `_id` INT, IN `_userid` INT, IN `_tsgid` INT, IN `_categ` INT, IN `_message` TEXT CHARSET utf8, IN `_note` TEXT CHARSET utf8, IN `_phone` VARCHAR(50) CHARSET utf8, IN `_email` VARCHAR(50) CHARSET utf8, IN `_pref` VARCHAR(50) CHARSET utf8, IN `_podal` VARCHAR(50) CHARSET utf8, IN `_alert` INT, IN `_workerid` INT, IN `_dplan` VARCHAR(20) CHARSET utf8, IN `_upduser` INT)
Таблица, в которую добавляются записи:
MySQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
СREATE TABLE IF NOT EXISTS `_tickets` (
  `ticketid` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT,
  `nr` int(11) DEFAULT '0',
  `alert` int(11) DEFAULT '0',
  `statusid` int(11) DEFAULT '0',
  `substatusid` int(11) DEFAULT '0',
  `categoryid` int(11) DEFAULT '0',
  `email` varchar(50) DEFAULT NULL,
  `phone` varchar(50) DEFAULT NULL,
  `preftime` varchar(50) DEFAULT NULL,
  `userid` int(11) DEFAULT '0',
  `tsgcode` varchar(20) DEFAULT NULL,
  `dstart` datetime DEFAULT NULL,
  `dstop` datetime DEFAULT NULL,
  `dwork` datetime DEFAULT NULL,
  `dplan` datetime DEFAULT NULL,
  `workerid` int(11) DEFAULT '0',
  `usernote` text,
  `message_old` text,
  `content` text,
  `tsgid` int(11) DEFAULT '0',
  `dispid` int(11) DEFAULT '0',
  `lastnote` varchar(200) DEFAULT '',
  `address` varchar(200) DEFAULT NULL,
  `note` text,
  `fopen` int(11) DEFAULT '0',
  `stopid` int(11) DEFAULT '0',
  `rootid` int(11) DEFAULT '0',
  `podal` varchar(50) DEFAULT NULL,
  `deleted` int(11) DEFAULT '0',
  PRIMARY KEY (`ticketid`),
  KEY `NR` (`nr`),
  KEY `TSGCode` (`tsgcode`),
  KEY `TSGID` (`tsgid`),
  KEY `IDX__tickets_dispid` (`dispid`),
  KEY `IDX__tickets_userid` (`userid`)
) ENGINE=MyISAM AVG_ROW_LENGTH=234 DEFAULT CHARSET=utf8;
Так вот периодически (не постоянно) в поле content пишутся знаки вопроса вместо русских букв. Но самое главное, что в другое поле, например, в usernote пишется нормально.
Используемые браузеры - chrome и firefox. Кодировка автоматическая (utf8)
Я уже мозг сломал, куда лезть и где править.
Для сведений:
хостер:
timeweb

MySQL сервер:
Сервер: Localhost via UNIX socket
Тип сервера: Percona Server
Версия сервера: 5.5.52-38.3 - Percona Server (GPL), Release 38.3, Revision 109ad68
Версия протокола: 10
Кодировка сервера: UTF-8 Unicode (utf8)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.12.2016, 17:09
Ответы с готовыми решениями:

Отправка писем с сайта. (Понимаю, что уже избитая тема, но все же)
Доброго времени суток, Уважаемые! Вообще дело вот в чем, подскажите, что я делаю не так в адаптации кода под свои нужды? Вот...

IIS7 на русской Висте: снова надо решать вопрос с кодировкой сообщений ASP
Кто знает как это прочитать? Îøèáêà êîìïèëÿöèè Microsoft VBScript<FONT face="Times New Roman" size=3> <FONT face=Arial size=2>ошибка...

С кодировкой базы данных и кодировкой сайтом и кодировкой файла разобраться не могу
С кодировкой базы данных и сайтом файлом разобраться не могу. Я на своем сайте вывожу данные из другой mysql.... МММ сайт на win 1251 а...

1
91 / 91 / 13
Регистрация: 14.07.2012
Сообщений: 539
30.12.2016, 18:54
Цитата Сообщение от Sanych33 Посмотреть сообщение
SET NAMES utf8
Для PDO не знаю, но для ,ysqli не рекомендуют использовать. set_charset попробуйте вставить.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.12.2016, 18:54
Помогаю со студенческими работами здесь

Снова хром, снова сапопроизвольно открывается, снова bkrfdf.xyz и казино
Здравствуйте! Собственно, проблема уже не новая, хотя, как показывают сообщения форума, за последние дни выскочившая у многих. Через...

Снова транспортная задача
Доброго времени суток, уважаемы формучане. Сформулирована транспортная задача, необходимо минимизировать функцию транспортных расходов....

Логическая задача (снова кто-то разбил окно).
Доброе время суток! C Прологом мало знаком, помогите решить задачки: А) Трое юношей: Коля, Петя и Юра – влюблены в трех девушек:...

избитая тема кирилицы в qt
Вот уже ничего не могу понять: QStringList codecs; codecs.append("IBM 866"); codecs.append("KOI8-R"); ...

Избитая тема о хуках
нужно поставить хук на мышу. прочитал несколько умных статей о хуках. написал ДЛЛ с хук-процедурой, для мониторинга хука посылаю...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru