Skip to content
This repository was archived by the owner on Jun 23, 2025. It is now read-only.
This repository was archived by the owner on Jun 23, 2025. It is now read-only.

Handle Unicode characters #404

@kevinreniers

Description

@kevinreniers

Before submitting your issue, please make sure that you've checked all of the checkboxes below.

  • You're running the latest release version of Deployer. tried 0.0.47 and 0.0.46
  • Ensure that you're running at least PHP 7.0.8, you can check this by running php -v
  • You've ran composer install --no-dev from the root of your installation.
  • You've ran npm install --production from the root of your installation.
  • You've ran rm -rf bootstrap/cache/* from the root of your installation.
  • You have restarted the queue listener and node socket server.

Describe the bug

symfony/flex can output Unicode characters during a composer install. Deployer will attempt to persist this to the database resulting in this error:

PHP Fatal error:  Uncaught PDOException: SQLSTATE[HY000]: General error: 1366 Incorrect string value: '\xF0\x9F\x8E\xB6 \xF0...' for column 'output' at row 1 in /var/www/deployer/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php:91

I've already created an issue on the symfony/flex repository to see if they can somehow not output the unicode characters in the first place here.

This causes the build to fail, but the step to stay in the "running state", and the server log naturally doesn't get updated.

Expected behaviour

Ideally, for this tool to handle utf8mb4 characters. Would it be as easy as making the character_set and collate overwriteable via ENV variables?

Actual behaviour

Deploy crashes and burns.

Steps to reproduce

Try to save this character 🎶 to the output of a server_logs row.

Screenshots

n/a

Environment info

Laravel Environment

  • Laravel Version: 5.4.30
  • Timezone: Europe/Brussels
  • Debug Mode: ✔
  • Storage Dir Writable: ✔
  • Cache Dir Writable: ✔
  • Decomposer Version: ^1.0
  • App Size: 538 MB

Server Environment

  • PHP Version: 7.2.14-1+020190205200805.15+stretch1.gbpd83c69
  • Server Software: nginx/1.10.3
  • Server OS: Linux amphion 4.9.0-4-amd64 Route models #1 SMP Debian 4.9.51-1 (2017-09-28) x86_64
  • Database: mysql
  • SSL Installed: ✘
  • Cache Driver: file
  • Session Driver: file
  • Openssl Ext: ✔
  • PDO Ext: ✔
  • Mbstring Ext: ✔
  • Tokenizer Ext: ✔
  • XML Ext: ✔
  • Curl Ext: ✔
  • GD Ext: ✔
  • JSON Ext: ✔

Installed Packages & their version numbers

  • andywer/js-localization : dev-laravel-5
  • backup-manager/laravel : ^1.1
  • creativeorange/gravatar : ~1.0
  • cweagans/composer-patches : dev-master
  • doctrine/dbal : ~2.5
  • fideloper/proxy : ^3.1
  • graham-campbell/binput : ~3.3
  • graham-campbell/htmlmin : ~4.2
  • guzzlehttp/guzzle : ^6.2
  • intervention/image : ^2.3
  • laracademy/interactive-make : ^0.5.0
  • laravel-notification-channels/hipchat : ~0.2
  • laravel-notification-channels/twilio : ~1.0.2
  • laravel-notification-channels/webhook : ~1.0.2
  • laravel/framework : ^5.4
  • laravel/tinker : 1.0.*
  • lubusin/laravel-decomposer : ^1.0
  • mccool/laravel-auto-presenter : ^5.0
  • melihovv/laravel-log-viewer : ^1.2
  • michele-angioni/multi-language : 0.3
  • pda/pheanstalk : ~3.1
  • pragmarx/google2fa : ^1.0.0
  • predis/predis : ~1.0
  • tymon/jwt-auth : ~0.5
  • version/version : ^2.2

Extra Information

  • proc_open enabled : ✔

Logs (see storage/logs/) or other output that would be helpful

PHP Fatal error:  Uncaught PDOException: SQLSTATE[HY000]: General error: 1366 Incorrect string value: '\xF0\x9F\x8E\xB6 \xF0...' for column 'output' at row 1 in /var/www/deployer/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php:91

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions