gpt4 book ai didi

PHP 5.6 编码 latin1 MySQL 编码

转载 作者:行者123 更新时间:2023-11-29 00:01:07 26 4
gpt4 key购买 nike

从 PHP 5.3 迁移到 PHP 5.6 后,我遇到了编码问题。我的 MySQL 数据库是 latin1,我的 PHP 文件是 windows-1251。现在一切都显示为“ñëåäíèòå àäðåñè”或“������”。

它应该用西里尔字母显示一些东西,比如“кирилица”。我试过 mysqli_set_charset 但它没有解决我的问题。

最佳答案

首先,让我们看看表格中有什么。做SELECT col, HEX(col)...看看这些是如何编码的。如果它是正确的 utf8 编码,这里是应该存在的 HEX:

ñëå --> C3B1C3ABC3A5 ; кир --> D0BAD0B8D180

如果您没有得到这些,那么问题出在插入上,我们可能(或可能无法)修复数据。如果你有 C390C2BAC390C2B8C391E282AC对于西里尔字母,那么你有“双重编码”,并且需要一些工作来“修复”。

utf8大约需要在4个地方建立。

  • 数据库中的列 -- 使用 SHOW CREATE TABLE验证它们是否显式设置为 utf8,或默认为表定义。 (仅更改数据库默认值是不够的。)
  • 客户端和服务器之间的连接。参见 SET NAMES utf8 .
  • 你拥有的字节数。 (大概就是这种情况。)
  • 如果您要在网页中显示文本,请检查 <meta>标签。

关于PHP 5.6 编码 latin1 MySQL 编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29790957/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com