【问题标题】:MySQL setting for correct character and collation in LaravelLaravel 中正确字符和排序规则的 MySQL 设置
【发布时间】:2018-03-20 19:17:16
【问题描述】:

我正在使用外部数据库(只读)和本地数据库(测试系统)。

所以每次从外部数据库获取数据时,我都会收到以下异常警告,默认为“�”这样的空字符。

在我的情况下我应该如何修改数据库设置?谢谢。


(3/3) 查询异常

SQLSTATE[HY000]: 一般错误: 1366 不正确的字符串值: '\xF8peri ...' for column 'customer_name' at row 1 (SQL: insert into customers (id, customer_name, @987654325 @) 值 (10008, Ol**n N***n K***t�pe AS, n***n@k***t.no))


外部数据库

character_set_client = utf8

character_set_connection = latin1

character_set_database = utf8

character_set_filesystem = 二进制

character_set_results = latin1

character_set_server = utf8

character_set_system = utf8

collat​​ion_connection = utf8_general_ci

collat​​ion_database = latin1_swedish_ci

collat​​ion_server = latin1_swedish_ci

服务器Mysql 5.1版。


内部数据库

character_set_client = utf8mb4

character_set_connection = utf8mb4

character_set_database = utf8mb4

character_set_filesystem = 二进制

character_set_results = utf8mb4

character_set_server = latin1

character_set_system = utf8

collat​​ion_connection = utf8mb4_general_ci

collat​​ion_database = utf8mb4_unicode_ci

collat​​ion_server = latin1_swedish_ci

服务器 MySQL 版本 5.7.19


测试系统环境: Win10, WAMPSERVER(MySQL v5.7.19, PHP v7.1.9)

【问题讨论】:

标签: mysql database laravel-5 character-encoding collation


【解决方案1】:

\xF8 是一种 unicode,它不适用于 latin 和 latin_swedish 字符集。您必须将字符集更新为 UTF8 或 UTF8mb4 并将排序规则更新为 utf8_general_ci 或 utf8mb4_general_ci

【讨论】:

  • 谢谢.. 我可以在哪里更新服务器?只是外部数据库还是两者兼而有之?在我的情况下,我无法更新外部数据库,它只能读取。
  • 最好两个都更新,但你可以先尝试配置内部数据库。在 my.cnf 中配置它。 dev.mysql.com/doc/refman/5.7/en/option-files.html
猜你喜欢
  • 2018-03-20
  • 2012-10-26
  • 2020-02-07
  • 1970-01-01
  • 2023-03-17
  • 1970-01-01
  • 2011-08-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多