gpt4 book ai didi

php - mySQL TEXT 数据类型的奇怪显示问题

转载 作者:行者123 更新时间:2023-11-29 02:05:01 25 4
gpt4 key购买 nike

<分区>

我正在处理一个项目,其中 mySQL 表有一个字段,其数据类型为 TEXT,排序规则为 utf8_general_ci,表排序规则(出于某种未知原因)设置为 utf8_unicode_ci。

mysql -V 输出是“mysql Ver 14.12 Distrib 5.0.51a, for debian-linux-gnu (x86_64) using readline 5.2”

PHP 版本为 5.2。

该字段中某些行的数据为“[Dan S. Leyrer?]”。如果您从命令行查询记录,它看起来很好。如果您在 phpMyAdmin 中查看或编辑记录,它在 Chrome 和 IE9 中看起来很好。但是当该字段作为 PHP 脚本输出的一部分显示在 IE9、Chrome、FF 等中时,问号显示为撇号“[Dan S. Leyrer']”。尝试在 IE9 和 Chrome 中的 phpMyAdmin 中以及通过命令行从 mySQL 监视器中进行编辑,但显示没有变化。

不可否认,我尝试添加对 utf8_encode()、utf8_decode()、htmlentities() 的调用。没有影响。

我尝试编辑其他字段,最后我发现添加一个“?”数据类型为 TEXT 的任何字段在 PHP 输出中显示此问题,但具有相同 utf8_general_ci 排序规则的 VARCHAR 字段没有问题。

那里发生了什么?


对于所有努力帮助我解决这个问题的人,我深表歉意。

我的前任在他的意大利面条代码中对这个字符串进行了一些处理。我不知道。我认为这是处理 UTF8 问题的努力:

function scrub_string($input_string) {
$replace_array = array( "?","\x92","?","\x91" );
$input_string = str_replace($replace_array,"'",$input_string);
$output_string = utf8_encode($input_string);
return $output_string;
}

对于浪费的时间,我感到非常非常抱歉......来新奥尔良,我正在买啤酒。

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