-
Notifications
You must be signed in to change notification settings - Fork 182
Handle Unicode characters #404
Description
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-devfrom the root of your installation. - You've ran
npm install --productionfrom 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+0
20190205200805.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