code: public function startQuery($sql, array $params = null, array $types = null)
      {
          if (is_array($params)) {
              foreach ($params as $index => $param) {
                  if (!is_string($params[$index])) {
                      continue;
                  }
  
                  // non utf-8 strings break json encoding
                  if (!preg_match('//u', $params[$index])) {
                      $params[$index] = self::BINARY_DATA_VALUE;
                      continue;
                  }
  
                  if (self::MAX_STRING_LENGTH < mb_strlen($params[$index], 'UTF-8')) {
                      $params[$index] = mb_substr($params[$index], 0, self::MAX_STRING_LENGTH - 6, 'UTF-8').' [...]';
                      continue;
                  }
              }
          }
  
          if (null !== $this->logger) {
              $this->log($sql, null === $params ? array() : $params);
          }
      }
docs: {@inheritdoc}