如何轉(zhuǎn)換此二進(jìn)制字符串:b"iphonée@3,;= ???e x"到普通字符串?我真的需要將該字符串作為普通字符串,而不是作為二進(jìn)制字符串。我在 MySQL 中保存這個二進(jìn)制字符串時遇到問題。如果我解碼的 CSV 沒有 ?、é 或任何這些非常規(guī)字符,則保存沒有問題。但是,當(dāng)在單元格上設(shè)置其中一個字符時,該字符串似乎是二進(jìn)制字符串,并且在 MySQL 上保存此二進(jìn)制字符串時出現(xiàn)錯誤。我收到此錯誤: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ée@3,;= ???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: '\xE9e@3,;...' 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ée@3,;= ???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: '\xE9e@3,;...' 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: '\xE9e@3,;...' for column 'name' at row 1" ]所有表和列都是'utf8mb4'和排序規(guī)則'utf8mb4_unicode_ci'環(huán)境:-PHP 7.2 -Laravel 5.5 -Ubuntu 18.04 -MySQL 5.7
PHP:如何在 MySQL 5.7 中保存二進(jìn)制字符串
慕標(biāo)琳琳
2022-10-14 10:26:34