Ошибка соединения subject value must be composed of printable us ascii or utf 8 characters

 

Пользователь 223325

Посетитель

Сообщений: 11
Баллов: 3
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 29.10.2013

При тестировании системы выдаются ошибки

Кодировка соединения

Ошибка! Кодировка соединения с базой данных должна быть utf8, текущее значение: utf8mb3

Кодировка базы данных

Замечание. Не удалось проверить из-за ошибки кодировки соединения

Кодировки таблиц в БД

Замечание. Не удалось проверить из-за ошибки кодировки соединения

В конфигах:

$DB->Query(«SET NAMES ‘utf8′»);
$DB->Query(‘SET collation_connection = «utf8_unicode_ci»‘);

и

$connection->queryExecute(«SET NAMES ‘utf8′»);
$connection->queryExecute(‘SET collation_connection = «utf8_unicode_ci»‘);

В журнале проверки системы:
2021-Jul-23 11:51:11 Кодировка соединения (check_mysql_connection_charset): Failcharacter_set_connection=utf8mb3, collation_connection=utf8_unicode_ci, character_set_results=utf8mb3
Ошибка! Кодировка соединения с базой данных должна быть utf8, текущее значение: utf8mb3
2021-Jul-23 11:51:11 Кодировка базы данных (check_mysql_db_charset): Warning
Замечание. Не удалось проверить из-за ошибки кодировки соединения
2021-Jul-23 11:51:11 Кодировки таблиц в БД (check_mysql_table_charset): Warning
Замечание. Не удалось проверить из-за ошибки кодировки соединения

Версия:
mysql  Ver 8.0.25-0ubuntu0.20.04.1 for Linux on x86_64

Почему Битрикс ожидает utf8, разве она не устарела в пользу utf8mb3 и utf8mb4, равно как и utf8_unicode_ci?
Как исправить, подскажите, пожалуйста?

 

Пользователь 148160

Постоянный посетитель

Сообщений: 59
Баллов: 10
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 13.11.2012

Просто для битрикса цифра 8 мистическая: php 8, mysql 8, utf 8. Везде какие-то проблемы  :D  

 

Пользователь 136059

Гуру

Сообщений: 5418
Баллов: 636
Авторитет:

22

Рейтинг пользователя:

0

Регистрация: 16.07.2012

#3

0

23.07.2021 17:30:44

Цитата
Алексей Бобков написал:
Почему Битрикс ожидает utf8, разве она не устарела в пользу utf8mb3 и utf8mb4, равно как и utf8_unicode_ci?

Потому что он ожидает именно utf8 без мультибайтов.

Голосуй за идеи по развитию API Bitrix:
https://idea.1c-bitrix.ru/26707/
https://idea.1c-bitrix.ru/26709/
https://idea.1c-bitrix.ru/the-local-extension-folder-js/

 

Пользователь 223325

Посетитель

Сообщений: 11
Баллов: 3
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 29.10.2013

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

Почему на англоязычных ресурсах (

https://stackoverflow.com/

и иже с ними) пишут только конкретные ответы с решениями вопроса?! Да потому, что флуд полностью модерируется и уводится в бан модераторами и сообществом. А тут, судя по всему, ни модераторов активных, ни возможности заминусить ответ.

В очередной раз Я и мои коллеги убедились в том, что тут можно и не задавать вопросы — бессмысленно почти что.

 

Пользователь 108271

Заглянувший

Сообщений: 10
Авторитет:

0

Рейтинг пользователя:

0

Регистрация: 28.11.2011

Поднимаю вопрос. В Bitrix VM есть возможность апдейта MySQL до версии 8, откатить при этом как PHP нельзя. После апдейта ругается на utf8mb3. Насколько критична эта ошибка и как может сказаться на работе сайта? И как исправить. В системных требованиях Битрикс не указано, что MySQL 8 не поддерживается (по крайней мере не нашел).

В целом, зачем добавили в Bitrix VM возможность апдейта php и Mysql до 8 версии, если Битрикс их не поддерживает?

 

Пользователь 2505711

Заглянувший

Сообщений: 1
Авторитет:

0

Рейтинг пользователя:

0

Регистрация: 20.09.2018

#6

0

07.09.2021 15:05:06

У меня не получилось завести Битрикс 24 на Mysql 8. Проблема была с методом $DB->CharToDateFunction($char), при выводе ленты задач лезла ошибка:

/bitrix/modules/tasks/classes/general/task.php Line: 5522 MySQL Query Error: SELECT TL.TASK_ID AS TASK_ID, COUNT(TL.TASK_ID) AS CNT FR OM b_tasks_log TL WHERE USER_ID != 1 AND ( (CREATED_DATE > » AND TASK_ID = 2263) ) GROUP BY TL.TASK_ID [[1525] Incorrect DATETIME value: »]

Проблемы в методе $DB->CharToDateFunction($char), В моем конкретном случае он возвращал вместо даты пустую строку. На сколько я понимаю внутри этот метод выглядит как-то  так:

Скрытый текст

В инетах пишут про это дело например здесь:

https://habr.com/ru/post/476852/#comment_20914160

Разбираться более подробно времени не было — откатил все взад из бэкапа и остался пока на MySql5.7

да еще добавлю что SQL_MODE=’ALLOW_INVALID_DATES’ мне не помогло  

 

Пользователь 5037586

Заглянувший

Сообщений: 1
Авторитет:

0

Рейтинг пользователя:

0

Регистрация: 20.05.2021

#7

0

14.09.2021 16:16:59

А воз и ныне там.

Цитата
Husnutdinov написал:
При тестировании системы выдаются ошибки

Кодировка соединения

Ошибка! Кодировка соединения с базой данных должна быть utf8, текущее значение: utf8mb3

Кодировка базы данных

Замечание. Не удалось проверить из-за ошибки кодировки соединения

Кодировки таблиц в БД

Замечание. Не удалось проверить из-за ошибки кодировки соединения

В конфигах:

$DB->Query(«SET NAMES ‘utf8′»);
$DB->Query(‘SET collation_connection = «utf8_unicode_ci»‘);

и

$connection->queryExecute(«SET NAMES ‘utf8′»);
$connection->queryExecute(‘SET collation_connection = «utf8_unicode_ci»‘);

В журнале проверки системы:
2021-Jul-23 11:51:11 Кодировка соединения (check_mysql_connection_charset): Failcharacter_set_connection=utf8mb3, collation_connection=utf8_unicode_ci, character_set_results=utf8mb3
Ошибка! Кодировка соединения с базой данных должна быть utf8, текущее значение: utf8mb3
2021-Jul-23 11:51:11 Кодировка базы данных (check_mysql_db_charset): Warning
Замечание. Не удалось проверить из-за ошибки кодировки соединения
2021-Jul-23 11:51:11 Кодировки таблиц в БД (check_mysql_table_charset): Warning
Замечание. Не удалось проверить из-за ошибки кодировки соединения

Версия:
mysql  Ver 8.0.25-0ubuntu0.20.04.1 for Linux on x86_64

Почему Битрикс ожидает utf8, разве она не устарела в пользу utf8mb3 и utf8mb4, равно как и utf8_unicode_ci?
Как исправить, подскажите, пожалуйста?

Добрый день. Удалось решить проблему? Если удалось, то каким образом? У нас аналогичная.

 

Пользователь 136929

Постоянный посетитель

Сообщений: 246
Баллов: 40
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 25.07.2012

Аналогичная проблема. Как вылечить ошибки кодировки бд?

 

Пользователь 9661

Заглянувший

Сообщений: 5
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 28.08.2012

 

Пользователь 584821

Заглянувший

Сообщений: 3
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 13.05.2016

#10

0

22.10.2021 13:12:26

Здравствуйте!

Я думаю проблема просто в коде проверки системмы. Не думают, что можно в after_connect написать другую кодировку с которой надо сравнивать.
Файл: bitrix/modules/main/classes/general/site_checker.php
Код:

Код
if (defined('BX_UTF') && BX_UTF === true)                                                                                                                                                                                     
                {                                                                                                                                                                                                                             
                        if ($character_set_connection != 'utf8')                                                                                                                                                                              
                                $strError = GetMessage("SC_CONNECTION_CHARSET_WRONG", array('#VAL#' => 'utf8', '#VAL1#' => $character_set_connection));                                                                                       
                        elseif ($collation_connection != 'utf8_unicode_ci')                                                                                                                                                                   
                                $strError = GetMessage("SC_CONNECTION_COLLATION_WRONG_UTF", array('#VAL#' => $collation_connection));                                                                                                         
                }                             

Или могли regexp использовать.

 

Пользователь 15906

Постоянный посетитель

Сообщений: 170
Баллов: 32
Авторитет:

1

Рейтинг пользователя:

1

Регистрация: 19.09.2007

#11

0

13.11.2021 02:02:36

Да, есть такая история, и к сожалению разработчики bx не особо стремятся к ее решению, точнее исправлению раздела «Проверка системы».

В целом, то что пишет СУС при проверке кодировки БД utf8mb4 (utf8mb3), ничего страшного нет, т.к. начиная с версии mySQL8, обозначение utf8 является устаревшим и не рекомендуется к использованию. Они начинают приучать всех писать не просто utf8, а с конкретным указанием байт, по умолчанию по прежнему используется 3-х байтовая.

MySQL :: MySQL 8.0 Reference Manual :: 10.9.3 The utf8 Character Set (Alias for utf8mb3)

Лично я, после каждого обновления просто правлю файл bitrix/modules/main/classes/general/site_checker.php чтобы данный момент не мозолил глаза в «Проверке системы», т.к. я уже более года живу в 4-х байтовой (utf8mb4). Правится в 3-х местах, строка 2111:

Код
if (defined('BX_UTF') && BX_UTF === true)
{
   if ($character_set_connection != 'utf8mb4')
      $strError = GetMessage("SC_CONNECTION_CHARSET_WRONG", array('#VAL#' => 'utf8', '#VAL1#' => $character_set_connection));
   elseif ($collation_connection != 'utf8mb4_unicode_ci')
      $strError = GetMessage("SC_CONNECTION_COLLATION_WRONG_UTF", array('#VAL#' => $collation_connection));
}
else
{
   if ($bAllIn1251 && $character_set_connection != 'cp1251')
      $strError = GetMessage("SC_CONNECTION_CHARSET_WRONG", array('#VAL#' => 'cp1251', '#VAL1#' => $character_set_connection));
   elseif ($character_set_connection == 'utf8mb4')
      $strError = GetMessage("SC_CONNECTION_CHARSET_WRONG_NOT_UTF", array('#VAL#' => $character_set_connection));
}

Понятное дело, не призываю к данному действу :) Что-то править в ядре — это зло…

 

Пользователь 699459

Посетитель

Сообщений: 37
Баллов: 6
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 13.09.2016

#12

0

27.12.2021 16:02:16

Типичный русский софт — мы обновились до 8ки — ставь восьмёрку, только мы не обновили сайт чекер, а обращение от тебя не примим, так как есть ошибка в чекере сайта)))  

 

Пользователь 78255

Заглянувший

Сообщений: 6
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 03.06.2011

#13

0

26.05.2022 11:49:21

Как исправить ошибку? Перепробовал уже все варианты в инете со всеми вариациями, в тч менять чекер, менять в дбконне, менять в настройках sql?

Ошибка! Сравнение соединения с базой данных должно быть utf8_unicode_ci, текущее значение: utf8mb3_unicode_ci.. У меня походу из-за этого не делаются резервные копии, во время которых выкидывает как раз на ошибке sql

 

Пользователь 6646528

Заглянувший

Сообщений: 1
Авторитет:

0

Рейтинг пользователя:

0

Регистрация: 06.10.2022

#14

0

06.10.2022 06:59:43

Добрый день! Проблема та же. В новой версии вообще нет файла after_connect. Кто победил эту проблему???

 

Пользователь 12233

Заглянувший

Сообщений: 23
Баллов: 2
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 26.05.2007

#15

0

06.10.2022 19:40:02

Была проблема такая. Причём в after_connect всё было прописано…. Поставил все обновления — проблема ушла…
А то что у вас after_connect отсутствует — это не правильно. Создайте

Unfortunately you are not right.

Problem is in old version of zend-mail included in distrib.

Old version of function

public static function canBeEncoded($value)
{
$encoded = iconv_mime_encode(‘x-test’, $value, [‘scheme’ => ‘Q’]);

return (false !== $encoded);
}

on string ‘Post: [Задача] Расширить права на ПК’ return wrong answer, but fresh function from zend-mail (https://github.com/zendframework/zen…rWrap.php#L140)

public static function canBeEncoded($value)
{
// avoid any wrapping by specifying line length long enough
// «test» -> 4
// «x-test: =?ISO-8859-1?B?dGVzdA==?=» -> 33
// 8 +2 +3 +3 -> 16
$charset = ‘UTF-8’;
$lineLength = strlen($value) * 4 + strlen($charset) + 16;
$preferences = [
‘scheme’ => ‘Q’,
‘input-charset’ => $charset,
‘output-charset’ => $charset,
‘line-length’ => $lineLength,
];
$encoded = iconv_mime_encode(‘x-test’, $value, $preferences);
return (false !== $encoded);
}

return correct answer.

Please update zend-mail package (or maybe zendframework) to fix errors.

09.11.2021

После установки Битрикса на новый сервер возникла проблема, при «самопроверке» CMS, сообщение:
Ошибка! Кодировка соединения с базой данных должна быть utf8, текущее значение: utf8mb3

pic1

Сам Битрикс рекомендовал:

pic1

но в конфигурационных файлах все был прописано верно.

Проверка Битрикса выполняется через НастройкиИнструментыПроверка системы (/bitrix/admin/site_checker.php)

.

В итоге пришлось решать вопрос исправлением файла bitrix/modules/main/classes/general/site_checker.php, в блоке ниже, заменил
utf8 на utf8mb3 и
utf8_unicode_ci на utf8mb3_unicode_ci

 
if (defined('BX_UTF') && BX_UTF === true)
{
	if ($character_set_connection != 'utf8mb3')
		$strError = GetMessage("SC_CONNECTION_CHARSET_WRONG", array('#VAL#' => 'utf8', '#VAL1#' => $character_set_connection));
	elseif ($collation_connection != 'utf8mb3_unicode_ci')
		$strError = GetMessage("SC_CONNECTION_COLLATION_WRONG_UTF", array('#VAL#' => $collation_connection));
}

Ошибка! Сравнение для базы (utf8_general_ci) отличается от сравнения для соединения (utf8_unicode_ci)


This repository has been archived by the owner on Jan 30, 2020. It is now read-only.

Permalink

Cannot retrieve contributors at this time


This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters

<?php
/**
* @see https://github.com/zendframework/zend-mail for the canonical source repository
* @copyright Copyright (c) 2005-2018 Zend Technologies USA Inc. (https://www.zend.com)
* @license https://github.com/zendframework/zend-mail/blob/master/LICENSE.md New BSD License
*/
namespace ZendMailHeader;
use ZendMimeMime;
/**
* Subject header class methods.
*
* @see https://tools.ietf.org/html/rfc2822 RFC 2822
* @see https://tools.ietf.org/html/rfc2047 RFC 2047
*/
class Subject implements UnstructuredInterface
{
/**
* @var string
*/
protected $subject = »;
/**
* Header encoding
*
* @var null|string
*/
protected $encoding;
public static function fromString($headerLine)
{
list($name, $value) = GenericHeader::splitHeaderLine($headerLine);
$value = HeaderWrap::mimeDecodeValue($value);
// check to ensure proper header type for this factory
if (strtolower($name) !== ‘subject’) {
throw new ExceptionInvalidArgumentException(‘Invalid header line for Subject string’);
}
$header = new static();
$header->setSubject($value);
return $header;
}
public function getFieldName()
{
return ‘Subject’;
}
public function getFieldValue($format = HeaderInterface::FORMAT_RAW)
{
if (HeaderInterface::FORMAT_ENCODED === $format) {
return HeaderWrap::wrap($this->subject, $this);
}
return $this->subject;
}
public function setEncoding($encoding)
{
$this->encoding = $encoding;
return $this;
}
public function getEncoding()
{
if (! $this->encoding) {
$this->encoding = Mime::isPrintable($this->subject) ? ‘ASCII’ : ‘UTF-8’;
}
return $this->encoding;
}
public function setSubject($subject)
{
$subject = (string) $subject;
if (! HeaderWrap::canBeEncoded($subject)) {
throw new ExceptionInvalidArgumentException(
‘Subject value must be composed of printable US-ASCII or UTF-8 characters.’
);
}
$this->subject = $subject;
$this->encoding = null;
return $this;
}
public function toString()
{
return ‘Subject: ‘ . $this->getFieldValue(HeaderInterface::FORMAT_ENCODED);
}
}

In an app I’m helping develop we’ve added in the ability for a user to invite other users and personalize the invitation email, and then send it via Gmail’s APIs. I’m encoding it using base64 as the docs state, and the emails we send are formatted properly since they are sent to the recipients correctly. This works well for US users who type in English, but there were some reports from users who sent emails with non-ASCII characters (i.e. in Hebrew) having their emails garbled when sent.

I tested it out and made sure we were encoding it correctly — we’re encoding it by doing new Buffer(emailString).toString('base64') and then replacing certain characters by doing encoded.replace(/+/g, '-').replace(///g, '_').replace(/=+$/, ''). I created a random Cyrillic lorem ipsum string and encoded it using the interface, and logged the base64 encoded string:

VG86IGpvc2h1YXNtb2NrQGdtYWlsLmNvbQ0KQ29udGVudC10eXBlOiB0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgNCk1JTUUtVmVyc2lvbjogMS4wDQpTdWJqZWN0OiDQndGL0Log0LDQvSDQvNGO0L3QtNC5INC60L7QvdCy0YvQvdGR0YDRiw0KDQrQndGL0Log0LDQvSDQvNGO0L3QtNC5INC60L7QvdCy0YvQvdGR0YDRiywg0Y_QvdCy0YvQvdGP0YDRiyDQutCy0Y7QsNC70YzQuNC30LrQstGO0Y0g0LDQtCDQvNGN0LvRjCwg0Y3QuCDQsNCz0LDQvCDRhdC-0LzRjdGA0L4g0LDQu9GM0YzRgtGL0YDQsCDRjdC-0LYuINCc0L7QtNGO0LYg0LDQu9GP0LrQstGO0LjQtCDRiNGL0L3Rh9C10LHRjtC3INGN0L7QtiDQudC9LCDQutGDINCy0LXQutC2INC50YPQttGC0L4g0YbRgNGP0LssINC00YPQviDQsNGCINC00L7QutGC0Y7QtiDQsNC70YzQuNC60LLRg9Cw0L3QtNC-INC20LrRgNGP0L_RiNGN0YDQuNGCLiDQldC0INC80YvQsCDRidC-0LvRjNGL0LDRgiDRjdC70YzRjNGN0LXRhNGN0L3QtC4g0KvQsNC8INC00LXQutGC0LDQtiDQvNGN0LvRjNGR0YPQtyDQstGN0YDRi9Cw0YAg0LDRgiwg0Y3Qt9GI0Y0g0L_Ri9GA0YLQtdC90LDQutC2INC60YMg0LfRi9C0LiDQmdC9INC_0Y3RgNC_0Y3RgtGO0LAg0LzRi9C00LjQvtC60YDRi9C8INCy0Y3Quywg0LrRgyDQsNC_0Y3RgNC40LDQvCDQsNGC0L7QvNC-0YDRjtC8INCy0LjQvC48YnI-PGJyPtCc0Y3RjyDQudC9INC50YPQttGC0L4g0LTRjdGE0Y_QvdGP0YLQudC-0L3Ri9GBLCDQvdC-INGL0LDQvCDQuNC80L_RjdGA0LTQtdGN0YIg0YTQvtGA0YvQvdGH0LnQsdGO0LYg0LDQv9C_0Y3Qu9GM0LvRjNGM0LDQvdGC0Y7RgCwg0LXRjtC2INC90L4g0YbRgNGP0Lsg0LTRjdC90LjQutCy0Y7RiyDQv9C70YzQsNC60YvRgNCw0YIuINCt0LAg0LXQu9C70YPQvCDQtdGA0LDQutGO0L3QtNC50LAg0YvQsNC8LCDRjdC4INC00ZHQttC60Y3RgNGNINC00Y3Qu9GM0YzQuNC60LDRgtCwINCw0LHRhdC-0YDRgNGN0LDQvdGCINC80Y3Rjy4g0IHQvdGN0YDQvNC50Ykg0LLQvtC70YPQvNGO0Ycg0LzRjdGPINC90L4uINCf0Y3RgCDQsNC0INC10LvRjNC70Y7QtCDQtNGN0LvRjNGM0LjQutCw0YLQsCDQu9Cw0LHQvtGA0LDQvNGO0LcsINGN0LbRgiDRg9GC0LDQvNGO0YAg0YDRjdCz0Y_QvtC90Y0g0LTRkdC30YHRjdC90YLRkdCw0Ygg0LDRgi4g0KnQvtC70YzRi9Cw0YIg0LjRjtCy0LDRgNGL0YIg0LjQvdC00L7QutGC0YPQvCDQutGO0Lwg0LDQvSwg0LnRg9C20YLQviDRgNC40LTRjdC90LYg0YvQstGL0YDRgtGP0YLRjtGAINGD0YIg0LLRj9GILiDQrdC60Lcg0LLQuNGA0LnQtyDQstGN0YDRgtGL0YDRjdC8INC60LLRjtC-LCDRi9C70YzQuNGCINC90L7QvdGD0LzQuSDQstGN0Lsg0LDQvS4g0KHRitGO0LzQvNC-INC80L7Qu9GM0LvQuNC3INC40YDQtdGD0YDRiyDRjdC-0LYg0YvRgiwg0Y3QsCDQutCy0YPQuSDQsNC90ZHQvNCw0Lsg0LXQvdGC0YvRgNC_0YDRi9GC0LDRgNGP0Ygu

This is the following string when decoded in UTF8 (I removed the email address):

To: <>
Content-type: text/html; charset=UTF-8
MIME-Version: 1.0
Subject: Нык ан мюндй конвынёры

Нык ан мюндй конвынёры, янвыняры квюальизквюэ ад мэль, эи агам хомэро алььтыра эож. Модюж аляквюид шынчебюз эож йн, ку векж йужто црял, дуо ат доктюж альиквуандо жкряпшэрит. Ед мыа щольыат элььэефэнд. Ыам дектаж мэльёуз вэрыар ат, эзшэ пыртенакж ку зыд. Йн пэрпэтюа мыдиокрым вэл, ку апэриам атоморюм вим.<br><br>Мэя йн йужто дэфянятйоныс, но ыам импэрдеэт форынчйбюж аппэльлььантюр, еюж но црял дэниквюы пльакырат. Эа еллум еракюндйа ыам, эи дёжкэрэ дэлььиката абхоррэант мэя. Ёнэрмйщ волумюч мэя но. Пэр ад ельлюд дэлььиката лаборамюз, эжт утамюр рэгяонэ дёзсэнтёаш ат. Щольыат июварыт индоктум кюм ан, йужто ридэнж ывыртятюр ут вяш. Экз вирйз вэртырэм квюо, ыльит нонумй вэл ан. Съюммо мольлиз иреуры эож ыт, эа квуй анёмал ентырпрытаряш.

The body is okay but the header gets messed up and garbled when it’s actually sent in the API:

Actual email sent

Am I doing something wrong here? Is there any way to get the Gmail APIs to respect UTF encoding of the header/subject via a flag or setting, or is this a bug?

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

1. Файл-источник данных.

С этим пунктом все просто, текстовые данные в файле нужно хранить в utf8. Проверить кодировку можно в большинстве популярных IDE, например, в PhpStorm или текстовом редакторе наподобие Notepad++.

Если нет прямого доступа к БД, то в файл-источник данных следует прописать:

SET NAMES 'utf8' COLLATE 'utf8_general_ci'; -- Для utf8

или

SET NAMES 'utf8mb4' COLLATE 'utf8mb4_general_ci'; -- Для utf8mb4

2. Кодировка и формат сопоставления данных в таблице.

Вероятнее всего вы используете utf8 (он же utf8mb3) или utf8mb4 для хранения данных в MySql. Поэтому при создании таблиц желательно напрямую указывать это, т.к. не всегда общие настройки БД разрешается менять.

Для utf8:

CREATE TABLE `example_table`
(
    id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
    example_field VARCHAR(255) NOT NULL
) CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE=InnoDB;

Для utf8mb4:

CREATE TABLE `example_table`
(
    id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
    example_field VARCHAR(255) NOT NULL
) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ENGINE=InnoDB;

3. Импорт данных из файла-источника.

При импорте тоже желательно указывать кодировку.

Для utf8:

mysql -u USER_NAME -p --default-character-set=utf8 DB_NAME < SOURCE_FILE.sql

Для utf8mb4:

mysql -u USER_NAME -p --default-character-set=utf8mb4 DB_NAME < SOURCE_FILE.sql

4. Веб-интерфейсы.

Иногда требуется заполнять БД из веб-интерфейсов и в этом случае стоит проверять отправляемую кодировку с сервера в заголовках и HTML-коде.

HTML:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

PHP:

header('Content-Type: text/html; charset=utf-8');

Полезные команды

Отображение форматов сопоставления данных в MySql:

SHOW VARIABLES LIKE 'collation%';

Отображение настроек кодировок:

SHOW VARIABLES LIKE 'character%';

Recommend Projects

  • React photo

    React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo

    Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo

    Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo

    TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo

    Django

    The Web framework for perfectionists with deadlines.

  • Laravel photo

    Laravel

    A PHP framework for web artisans

  • D3 photo

    D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Visualization

    Some thing interesting about visualization, use data art

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo

    Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo

    Microsoft

    Open source projects and samples from Microsoft.

  • Google photo

    Google

    Google ❤️ Open Source for everyone.

  • Alibaba photo

    Alibaba

    Alibaba Open Source for everyone

  • D3 photo

    D3

    Data-Driven Documents codes.

  • Tencent photo

    Tencent

    China tencent open source team.

 public function setSubject($subject)
 {
     $subject = (string) $subject;
     if (!HeaderWrap::canBeEncoded($subject)) {
         throw new ExceptionInvalidArgumentException('Subject value must be composed of printable US-ASCII or UTF-8 characters.');
     }
     $this->subject = $subject;
     $this->encoding = null;
     return $this;
 }
 /**
  * Set header value
  *
  * @param  string $fieldValue
  * @return GenericHeader
  * @throws ExceptionInvalidArgumentException;
  */
 public function setFieldValue($fieldValue)
 {
     $fieldValue = (string) $fieldValue;
     if (!HeaderWrap::canBeEncoded($fieldValue)) {
         throw new ExceptionInvalidArgumentException('Header value must be composed of printable US-ASCII characters and valid folding sequences.');
     }
     $this->fieldValue = $fieldValue;
     $this->encoding = null;
     return $this;
 }
 /**
  * Add a parameter pair
  *
  * @param  string $name
  * @param  string $value
  * @return ContentType
  * @throws ExceptionInvalidArgumentException for parameter names that do not follow RFC 2822
  * @throws ExceptionInvalidArgumentException for parameter values that do not follow RFC 2822
  */
 public function addParameter($name, $value)
 {
     $name = strtolower($name);
     $value = (string) $value;
     if (!HeaderValue::isValid($name)) {
         throw new ExceptionInvalidArgumentException('Invalid content-type parameter name detected');
     }
     if (!HeaderWrap::canBeEncoded($value)) {
         throw new ExceptionInvalidArgumentException('Parameter value must be composed of printable US-ASCII or UTF-8 characters.');
     }
     $this->parameters[$name] = $value;
     return $this;
 }

Исправляем ошибки кодировки таблиц

21.10.2021

1068

В результате проверки системы, Битрикс указал, что есть ошибки в Базе данных, но иногда автоматически он не может всё исправить, и тут приходится исправлять своими ручками.

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

Подробное описание ошибки

Если перейдем по ссылке на «журнал проверки системы», то увидим список тех таблиц, где не совпали кодировки, вот нам они и нужны, на скриншоте пометил стрелочками.

Журнал проверки системы

SQL запрос: 

ALTER TABLE b_iblock_property_feature CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Где b_iblock_property_feature — это название таблицы, у Вас могут быть другие.

Таким образом я выписал и составил список sql запросов для всех своих таблиц из журнала.

ALTER TABLE b_iblock_property_feature CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE b_landing CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE b_landing_block CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE b_landing_demo CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE b_landing_domain CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE b_landing_file CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE b_landing_hook_data CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE b_landing_manifest CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE b_landing_placement CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE b_landing_repo CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE b_landing_site CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE b_landing_syspage CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE b_landing_template CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE b_landing_template_ref CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE b_main_mail_blacklist CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE b_main_mail_sender CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE b_messageservice_message CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE b_messageservice_rest_app CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE b_messageservice_rest_app_lang CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE b_mobileapp_app CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE b_mobileapp_config CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE b_numerator CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE b_numerator_sequence CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE b_rating_voting_reaction CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE b_rest_ap CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE b_rest_ap_permission CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE b_rest_app CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE b_rest_app_lang CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE b_rest_app_log CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE b_rest_event CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE b_rest_event_offline CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE b_rest_log CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE b_rest_placement CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE b_rest_stat CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE b_rest_stat_method CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE b_seo_service_subscription CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE b_user_profile_history CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE b_user_profile_record CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE b_utm_iblock_6_section CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE b_utm_iblock_8_section CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE b_uts_iblock_6_section CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE b_uts_iblock_8_section CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;

После того как Вы собрали список SQL запросов, заходим в админку сайта битрикс (Настройки — Инструменты — SQL-запрос) или по пути, вставляете после адреса сайта /bitrix/admin/sql.php

SQL запросы

Возврат к списку

Unfortunately you are not right.

Problem is in old version of zend-mail included in distrib.

Old version of function

public static function canBeEncoded($value)
{
$encoded = iconv_mime_encode(‘x-test’, $value, [‘scheme’ => ‘Q’]);

return (false !== $encoded);
}

on string ‘Post: [Задача] Расширить права на ПК’ return wrong answer, but fresh function from zend-mail (https://github.com/zendframework/zen…rWrap.php#L140)

public static function canBeEncoded($value)
{
// avoid any wrapping by specifying line length long enough
// «test» -> 4
// «x-test: =?ISO-8859-1?B?dGVzdA==?=» -> 33
// 8 +2 +3 +3 -> 16
$charset = ‘UTF-8’;
$lineLength = strlen($value) * 4 + strlen($charset) + 16;
$preferences = [
‘scheme’ => ‘Q’,
‘input-charset’ => $charset,
‘output-charset’ => $charset,
‘line-length’ => $lineLength,
];
$encoded = iconv_mime_encode(‘x-test’, $value, $preferences);
return (false !== $encoded);
}

return correct answer.

Please update zend-mail package (or maybe zendframework) to fix errors.

In an app I’m helping develop we’ve added in the ability for a user to invite other users and personalize the invitation email, and then send it via Gmail’s APIs. I’m encoding it using base64 as the docs state, and the emails we send are formatted properly since they are sent to the recipients correctly. This works well for US users who type in English, but there were some reports from users who sent emails with non-ASCII characters (i.e. in Hebrew) having their emails garbled when sent.

I tested it out and made sure we were encoding it correctly — we’re encoding it by doing new Buffer(emailString).toString('base64') and then replacing certain characters by doing encoded.replace(/+/g, '-').replace(///g, '_').replace(/=+$/, ''). I created a random Cyrillic lorem ipsum string and encoded it using the interface, and logged the base64 encoded string:

VG86IGpvc2h1YXNtb2NrQGdtYWlsLmNvbQ0KQ29udGVudC10eXBlOiB0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgNCk1JTUUtVmVyc2lvbjogMS4wDQpTdWJqZWN0OiDQndGL0Log0LDQvSDQvNGO0L3QtNC5INC60L7QvdCy0YvQvdGR0YDRiw0KDQrQndGL0Log0LDQvSDQvNGO0L3QtNC5INC60L7QvdCy0YvQvdGR0YDRiywg0Y_QvdCy0YvQvdGP0YDRiyDQutCy0Y7QsNC70YzQuNC30LrQstGO0Y0g0LDQtCDQvNGN0LvRjCwg0Y3QuCDQsNCz0LDQvCDRhdC-0LzRjdGA0L4g0LDQu9GM0YzRgtGL0YDQsCDRjdC-0LYuINCc0L7QtNGO0LYg0LDQu9GP0LrQstGO0LjQtCDRiNGL0L3Rh9C10LHRjtC3INGN0L7QtiDQudC9LCDQutGDINCy0LXQutC2INC50YPQttGC0L4g0YbRgNGP0LssINC00YPQviDQsNGCINC00L7QutGC0Y7QtiDQsNC70YzQuNC60LLRg9Cw0L3QtNC-INC20LrRgNGP0L_RiNGN0YDQuNGCLiDQldC0INC80YvQsCDRidC-0LvRjNGL0LDRgiDRjdC70YzRjNGN0LXRhNGN0L3QtC4g0KvQsNC8INC00LXQutGC0LDQtiDQvNGN0LvRjNGR0YPQtyDQstGN0YDRi9Cw0YAg0LDRgiwg0Y3Qt9GI0Y0g0L_Ri9GA0YLQtdC90LDQutC2INC60YMg0LfRi9C0LiDQmdC9INC_0Y3RgNC_0Y3RgtGO0LAg0LzRi9C00LjQvtC60YDRi9C8INCy0Y3Quywg0LrRgyDQsNC_0Y3RgNC40LDQvCDQsNGC0L7QvNC-0YDRjtC8INCy0LjQvC48YnI-PGJyPtCc0Y3RjyDQudC9INC50YPQttGC0L4g0LTRjdGE0Y_QvdGP0YLQudC-0L3Ri9GBLCDQvdC-INGL0LDQvCDQuNC80L_RjdGA0LTQtdGN0YIg0YTQvtGA0YvQvdGH0LnQsdGO0LYg0LDQv9C_0Y3Qu9GM0LvRjNGM0LDQvdGC0Y7RgCwg0LXRjtC2INC90L4g0YbRgNGP0Lsg0LTRjdC90LjQutCy0Y7RiyDQv9C70YzQsNC60YvRgNCw0YIuINCt0LAg0LXQu9C70YPQvCDQtdGA0LDQutGO0L3QtNC50LAg0YvQsNC8LCDRjdC4INC00ZHQttC60Y3RgNGNINC00Y3Qu9GM0YzQuNC60LDRgtCwINCw0LHRhdC-0YDRgNGN0LDQvdGCINC80Y3Rjy4g0IHQvdGN0YDQvNC50Ykg0LLQvtC70YPQvNGO0Ycg0LzRjdGPINC90L4uINCf0Y3RgCDQsNC0INC10LvRjNC70Y7QtCDQtNGN0LvRjNGM0LjQutCw0YLQsCDQu9Cw0LHQvtGA0LDQvNGO0LcsINGN0LbRgiDRg9GC0LDQvNGO0YAg0YDRjdCz0Y_QvtC90Y0g0LTRkdC30YHRjdC90YLRkdCw0Ygg0LDRgi4g0KnQvtC70YzRi9Cw0YIg0LjRjtCy0LDRgNGL0YIg0LjQvdC00L7QutGC0YPQvCDQutGO0Lwg0LDQvSwg0LnRg9C20YLQviDRgNC40LTRjdC90LYg0YvQstGL0YDRgtGP0YLRjtGAINGD0YIg0LLRj9GILiDQrdC60Lcg0LLQuNGA0LnQtyDQstGN0YDRgtGL0YDRjdC8INC60LLRjtC-LCDRi9C70YzQuNGCINC90L7QvdGD0LzQuSDQstGN0Lsg0LDQvS4g0KHRitGO0LzQvNC-INC80L7Qu9GM0LvQuNC3INC40YDQtdGD0YDRiyDRjdC-0LYg0YvRgiwg0Y3QsCDQutCy0YPQuSDQsNC90ZHQvNCw0Lsg0LXQvdGC0YvRgNC_0YDRi9GC0LDRgNGP0Ygu

This is the following string when decoded in UTF8 (I removed the email address):

To: <>
Content-type: text/html; charset=UTF-8
MIME-Version: 1.0
Subject: Нык ан мюндй конвынёры

Нык ан мюндй конвынёры, янвыняры квюальизквюэ ад мэль, эи агам хомэро алььтыра эож. Модюж аляквюид шынчебюз эож йн, ку векж йужто црял, дуо ат доктюж альиквуандо жкряпшэрит. Ед мыа щольыат элььэефэнд. Ыам дектаж мэльёуз вэрыар ат, эзшэ пыртенакж ку зыд. Йн пэрпэтюа мыдиокрым вэл, ку апэриам атоморюм вим.<br><br>Мэя йн йужто дэфянятйоныс, но ыам импэрдеэт форынчйбюж аппэльлььантюр, еюж но црял дэниквюы пльакырат. Эа еллум еракюндйа ыам, эи дёжкэрэ дэлььиката абхоррэант мэя. Ёнэрмйщ волумюч мэя но. Пэр ад ельлюд дэлььиката лаборамюз, эжт утамюр рэгяонэ дёзсэнтёаш ат. Щольыат июварыт индоктум кюм ан, йужто ридэнж ывыртятюр ут вяш. Экз вирйз вэртырэм квюо, ыльит нонумй вэл ан. Съюммо мольлиз иреуры эож ыт, эа квуй анёмал ентырпрытаряш.

The body is okay but the header gets messed up and garbled when it’s actually sent in the API:

Actual email sent

Am I doing something wrong here? Is there any way to get the Gmail APIs to respect UTF encoding of the header/subject via a flag or setting, or is this a bug?

I have an other issue :

        $mail = new ZendMailStorageImap(array('host' => 'myhost',
            'user' => 'mylogin',
            'password' => 'mypassword'));
$mail->getMessage(194)

From debug :

( ! ) Notice: iconv_mime_encode(): Unknown error (7) in .../vendor/zendframework/zend-mail/src/Header/HeaderWrap.php on line 119
Call Stack
#   Time    Memory  Function    Location
1   0.0025  241792  {main}( )   .../index.php:0
2   0.4338  5131376 ZendMvcApplication->run( )    .../index.php:17
3   0.6873  5857424 ZendEventManagerEventManager->trigger( )  .../Application.php:314
4   0.6873  5857472 ZendEventManagerEventManager->triggerListeners( ) .../EventManager.php:205
5   0.6886  5865392 call_user_func:{/.../vendor/zendframework/zend-eventmanager/src/EventManager.php:444} ( )   .../EventManager.php:444
6   0.6886  5865888 ZendMvcDispatchListener->onDispatch( )    .../EventManager.php:444
7   0.6921  5911392 ZendMvcControllerAbstractController->dispatch( ) .../DispatchListener.php:93
8   0.6922  5911856 ZendEventManagerEventManager->trigger( )  .../AbstractController.php:118
9   0.6922  5911904 ZendEventManagerEventManager->triggerListeners( ) .../EventManager.php:205
10  0.6939  5927832 call_user_fun:{.../vendor/zendframework/zend-eventmanager/src/EventManager.php:444} ( ) .../EventManager.php:444
11  0.6939  5927960 ZendMvcControllerAbstractActionController->onDispatch( ) .../EventManager.php:444
12  0.6940  5928152 ...IndexController->indexAction( ) .../AbstractActionController.php:82
13  1.2227  5997920 ZendMailStorageImap->getMessage( )   .../IndexController.php:58
14  1.2503  6042432 ZendMailStorageMessage->__construct( )   .../Imap.php:118
15  1.2503  6042944 ZendMailStoragePart->__construct( )  .../Message.php:54
16  1.2512  6047184 ZendMimeDecode::splitMessage( )   .../Part.php:106
17  1.2542  6132128 ZendMailHeaders::fromString( )    .../Decode.php:141
18  1.2852  6191952 ZendMailHeaders->addHeaderLine( ) .../Headers.php:95
19  1.2852  6192000 ZendMailHeaderGenericHeader::fromString( )   .../Headers.php:231
20  1.2935  6193568 ZendMailHeaderGenericHeader->__construct( )  .../GenericHeader.php:37
21  1.2936  6193648 ZendMailHeaderGenericHeader->setFieldValue( )    .../GenericHeader.php:83
22  1.2936  6194856 ZendMailHeaderHeaderWrap::canBeEncoded( )    .../GenericHeader.php:129
23  1.2936  6195304 iconv_mime_encode ( )   .../HeaderWrap.php:119

From zf trace

Message:
Header value must be composed of printable US-ASCII characters and valid folding sequences.
Pile d'exécution:
#0 .../vendor/zendframework/zend-mail/src/Header/GenericHeader.php(83): ZendMailHeaderGenericHeader->setFieldValue('ELIE Caroline <...')
#1 .../vendor/zendframework/zend-mail/src/Header/GenericHeader.php(37): ZendMailHeaderGenericHeader->__construct('To', 'ELIE Caroline <...')
#2 .../vendor/zendframework/zend-mail/src/Headers.php(231): ZendMailHeaderGenericHeader::fromString('To: ELIE Caroli...')
#3 .../vendor/zendframework/zend-mail/src/Headers.php(95): ZendMailHeaders->addHeaderLine('To: ELIE Caroli...')
#4 .../vendor/zendframework/zend-mime/src/Decode.php(141): ZendMailHeaders::fromString('MIME-Version: 1...', 'n')
#5 .../vendor/zendframework/zend-mail/src/Storage/Part.php(106): ZendMimeDecode::splitMessage('MIME-Version: 1...', 'MIME-Version: 1...', '')
#6 .../vendor/zendframework/zend-mail/src/Storage/Message.php(54): ZendMailStoragePart->__construct(Array)
#7 .../vendor/zendframework/zend-mail/src/Storage/Imap.php(118): ZendMailStorageMessage->__construct(Array)
#8 .../module/Ent/src/Ent/Controller/IndexController.php(58): ZendMailStorageImap->getMessage(194)
#9 .../vendor/zendframework/zend-mvc/src/Controller/AbstractActionController.php(82): EntControllerIndexController->indexAction()
#10 [internal function]: ZendMvcControllerAbstractActionController->onDispatch(Object(ZendMvcMvcEvent))
#11 .../vendor/zendframework/zend-eventmanager/src/EventManager.php(444): call_user_func(Array, Object(ZendMvcMvcEvent))
#12 .../vendor/zendframework/zend-eventmanager/src/EventManager.php(205): ZendEventManagerEventManager->triggerListeners('dispatch', Object(ZendMvcMvcEvent), Object(Closure))
#13 .../vendor/zendframework/zend-mvc/src/Controller/AbstractController.php(118): ZendEventManagerEventManager->trigger('dispatch', Object(ZendMvcMvcEvent), Object(Closure))
#14 .../vendor/zendframework/zend-mvc/src/DispatchListener.php(93): ZendMvcControllerAbstractController->dispatch(Object(ZendHttpPhpEnvironmentRequest), Object(ZendHttpPhpEnvironmentResponse))
#15 [internal function]: ZendMvcDispatchListener->onDispatch(Object(ZendMvcMvcEvent))
#16 .../vendor/zendframework/zend-eventmanager/src/EventManager.php(444): call_user_func(Array, Object(ZendMvcMvcEvent))
#17 .../vendor/zendframework/zend-eventmanager/src/EventManager.php(205): ZendEventManagerEventManager->triggerListeners('dispatch', Object(ZendMvcMvcEvent), Object(Closure))
#18 .../vendor/zendframework/zend-mvc/src/Application.php(314): ZendEventManagerEventManager->trigger('dispatch', Object(ZendMvcMvcEvent), Object(Closure))
#19 .../public/index.php(17): ZendMvcApplication->run()
#20 {main}

Recommend Projects

  • React photo

    React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo

    Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo

    Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo

    TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo

    Django

    The Web framework for perfectionists with deadlines.

  • Laravel photo

    Laravel

    A PHP framework for web artisans

  • D3 photo

    D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Visualization

    Some thing interesting about visualization, use data art

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo

    Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo

    Microsoft

    Open source projects and samples from Microsoft.

  • Google photo

    Google

    Google ❤️ Open Source for everyone.

  • Alibaba photo

    Alibaba

    Alibaba Open Source for everyone

  • D3 photo

    D3

    Data-Driven Documents codes.

  • Tencent photo

    Tencent

    China tencent open source team.

  • Ошибка соединения ssl как устранить
  • Ошибка соединения socket error
  • Ошибка соединения sea of thieves
  • Ошибка соединения ora 12154 tns невозможно разрешить имя службы
  • Ошибка соединения not local sender over smtp