Ad
PHP: How To Save Binary String In MySQL 5.7
How can I convert this binary string:
b"iphoné[email protected],;= ÑÑñe x"
To normal string?
I really need to have that string as a normal string, and not as a binary string.
I am having problems saving in MySQL this binary string. If the CSV that I decode does not have ñ, é or any of this non usual characters, I dont have problem saving. But when one of this characters is set on a cell, the string appears to be binary string and I get an error when saving on MySQL this binary string.
I get this error:
QueryException {#1780
#sql: "insert into `seller_product_languages` (`seller_product_id`, `lang`, `name`, `description`, `description_html`, `bullet_html`, `bullet`, `meta_keywords`, `default`, `updated_at`, `created_at`) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"
#bindings: array:11 [
0 => 117
1 => "es"
2 => b"iphoné[email protected],;= ÑÑñe x"
3 => "negro"
4 => "negro"
5 => null
6 => ""
7 => null
8 => 1
9 => "2020-03-02 18:40:56"
10 => "2020-03-02 18:40:56"
]
#message: b"SQLSTATE[HY000]: General error: 1366 Incorrect string value: '\[email protected],;...' for column 'name' at row 1 (SQL: insert into `seller_product_languages` (`seller_product_id`, `lang`, `name`, `description`, `description_html`, `bullet_html`, `bullet`, `meta_keywords`, `default`, `updated_at`, `created_at`) values (117, es, iphoné[email protected],;= ÑÑñe x, negro, negro, , , , 1, 2020-03-02 18:40:56, 2020-03-02 18:40:56))"
#code: "HY000"
#file: "/home/vagrant/Code/PROJECT/vendor/laravel/framework/src/Illuminate/Database/Connection.php"
#line: 664
-previous: PDOException {#1779
#message: "SQLSTATE[HY000]: General error: 1366 Incorrect string value: '\[email protected],;...' for column 'name' at row 1"
#code: "HY000"
#file: "/home/vagrant/Code/PROJECT/vendor/laravel/framework/src/Illuminate/Database/Connection.php"
#line: 458
+errorInfo: array:3 [
0 => "HY000"
1 => 1366
2 => "Incorrect string value: '\[email protected],;...' for column 'name' at row 1"
]
All tables and columns are 'utf8mb4'
and collation 'utf8mb4_unicode_ci'
Environment: -PHP 7.2 -Laravel 5.5 -Ubuntu 18.04 -MySQL 5.7
Ad
Answer
I solve it changing all tables from utf8 to utf8mb4. And doing utf8_encode(..) to the string
Thank you all
Ad
source: stackoverflow.com
Related Questions
- → "failed to open stream" error when executing "migrate:make"
- → October CMS Plugin Routes.php not registering
- → OctoberCMS Migrate Table
- → OctoberCMS Rain User plugin not working or redirecting
- → October CMS Custom Mail Layout
- → October CMS - How to correctly route
- → October CMS create a multi select Form field
- → October CMS - Conditionally Load a Different Page
- → How to disable assets combining on development in OctoberCMS
- → October CMS - Radio Button Ajax Click Twice in a Row Causes Content to disappear
- → OctoberCms component: How to display all ID(items) instead of sorting only one ID?
- → In OctoberCMS how do you find the hint path?
- → How to register middlewares in OctoberCMS plugin?
Ad