MySQL设置在Laravel中正确的字符和排序规则 [英] MySQL setting for correct character and collation in Laravel

查看:448
本文介绍了MySQL设置在Laravel中正确的字符和排序规则的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在将外部数据库(只读)与本地数据库(测试系统)一起使用.

I am using external DB(read only) with local DB(test system).

因此,每次从外部数据库获取数据时,每次出现如下异常警告时,都会出现默认的空字符(如"...").

So everytime I getting as below exception warning with default null charater like "�" when getting data from external DB.

如何根据自己的情况修改数据库设置?谢谢.

How should I modify DB setting in my situation? Thanks.

(3/3)QueryException

SQLSTATE [HY000]:常规错误:1366错误的字符串值:'\ xF8peri ...'为第1行的'customer_name'列(SQL:插入customers(idcustomer_name)值(10008,Ol ** n N *** n K *** t.pe AS,n *** n @ k *** t.no))

SQLSTATE[HY000]: General error: 1366 Incorrect string value: '\xF8peri ...' for column 'customer_name' at row 1 (SQL: insert into customers (id, customer_name, customer_email) values (10008, Ol**n N***n K***t�pe AS, n***n@k***t.no))

外部数据库

character_set_client = utf8

character_set_client = utf8

character_set_connection = latin1

character_set_connection = latin1

character_set_database = utf8

character_set_database = utf8

character_set_filesystem =二进制

character_set_filesystem = binary

character_set_results = latin1

character_set_results = latin1

character_set_server = utf8

character_set_server = utf8

character_set_system = utf8

character_set_system = utf8

collat​​ion_connection = utf8_general_ci

collation_connection = utf8_general_ci

collat​​ion_database = latin1_swedish_ci

collation_database = latin1_swedish_ci

collat​​ion_server = latin1_swedish_ci

collation_server = latin1_swedish_ci

服务器Mysql版本5.1.

Server Mysql version 5.1.

内部数据库

character_set_client = utf8mb4

character_set_client = utf8mb4

character_set_connection = utf8mb4

character_set_connection = utf8mb4

character_set_database = utf8mb4

character_set_database = utf8mb4

character_set_filesystem =二进制

character_set_filesystem = binary

character_set_results = utf8mb4

character_set_results = utf8mb4

character_set_server = latin1

character_set_server = latin1

character_set_system = utf8

character_set_system = utf8

collat​​ion_connection = utf8mb4_general_ci

collation_connection = utf8mb4_general_ci

collat​​ion_database = utf8mb4_unicode_ci

collation_database = utf8mb4_unicode_ci

collat​​ion_server = latin1_swedish_ci

collation_server = latin1_swedish_ci

MySQL MySQL 5.7.19版

SErver MySQL version 5.7.19

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

Test System Enviroments: Win10, WAMPSERVER(MySQL v5.7.19, PHP v7.1.9)

推荐答案

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

\xF8 is a kind of unicode, it doesn't work with latin and latin_swedish character set. You have to update your character set to UTF8 or UTF8mb4 and collation to utf8_general_ci or utf8mb4_general_ci

这篇关于MySQL设置在Laravel中正确的字符和排序规则的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆