在mysql上从SQL server上获取gobbledegook,结果发现它是一个旧的codepage.为什么会有这样的设置?我如何改变默认值?

问题描述 投票:0回答:1

我正在写一个利用MySQL的新项目,我正在工作的应用程序没有问题,但当应用程序从我的sql服务器接收输出时,它立即拒绝它为null。当我在3306端口访问我的SQL服务器时,我得到了奇怪的乱码信息,以及短信息 "数据包失序"。在我的设置中,我有,MAMP,Docker,Apache服务器和PHP。我可以在各自的端口上正常访问每个服务。

1) 我通过在浏览器中运行控制台来研究这个问题,它报告说文本的格式不正确,不是utf-8

2)我按照这个指南https:/medium.com@manish_demblanibre out-from-the-mysql-character-set-hell-24c6a306e1e5。 而我的sql服务器得出的结果如下

请在此输入图片描述

我的问题是:为什么MySQL的设置方式如此奇怪?为什么MySQL会以这种奇怪的方式设置?为什么用CP850的DOS拉丁文显示?是没有defaultsconfig文件可以修改,还是通过windows的某个地方完成的?

mysql utf-8 codepages
1个回答
0
投票

似乎你以某种方式搞砸了客户端配置(连接字符串,[客户端]-你的cnf文件的部分(在你启动mysql控制台的系统上),...)。它告诉你的服务器用cp850发送数据。不知道为什么你会得到不按顺序的数据包,也许你有一个额外的潜在问题(也许是非常老的库?),但我会从那里开始。不清楚的是:你是按照博文的要求去做,然后出现了问题,还是说这是一个解决方案的尝试?在任何情况下,尝试将注意力集中在客户端。尝试撤销你所做的更改。MySQL默认使用utf8已经很久了。- Solarflare

© www.soinside.com 2019 - 2024. All rights reserved.