【发布时间】:2015-06-16 02:26:30
【问题描述】:
嗨(对不起我的英语xD),
我正在 MySql 中获取我的数据库的数据,这些数据(格式为“玩家 1 - 玩家 2”的一对玩家)。我用explode 函数按字符- 剪切了这个,因此我得到了'Player 1'和'Player 2'字符串。我尝试使用修剪功能删除开头和结尾的空格,但这不起作用。我怀疑这个问题与-字符的其他问题相似,我键盘的普通-不使用explode函数拆分字符串,我不得不去PHPMyAdmin并复制一个-字符现有字符串并将其粘贴到第二个explode函数参数中,之后,explode函数工作。
我尝试使用相同的- 字符(登录 PHPMyAdmin 复制一个空格并将其粘贴为trim 函数的第二个参数,但这次不起作用:()。
还可以尝试使用str_replace 函数(无论消除什么差距)并且不工作,也可以尝试使用preg_replace 函数等......没有任何工作,因为显然保存在数据库中的空白不是和我的键盘一样,我怀疑问题与字符集或排序规则有关,但我不知道我应该做什么,因为 PHP 的表、链接、字符集和其他东西都是 UTF-8 和 utf8-spanish -ci 排序规则和字符集。
声明:数据的输入是由 xdom (PHP) 从其他不受我控制的站点进行的。
<tbody>
<?php while ($partidos = mysqli_fetch_array($sql)) { ?>
<tr>
<td class="center"><?php echo $partidos['fecha']; ?></td>
<td><?php $participante = explode("₋", $partidos['jugadores']);
$participante1 = trim($participante[0]);
$participante2 = trim($participante[1]);
echo trim($participante1) . "<br>vs<br>" . trim($participante2);
?></td>
<td><?php if ($partidos['estado'] == 0) { ?> En Curso<?php } elseif ($partidos['estado'] == 1) {
if ($partidos['alerta'] == 0) { ?> Terminado<?php } else { ?>Terminado - Error <i
class="fa fa-exclamation-triangle"></i><?php }
} ?></td>
<td><?php if ($partidos['alerta_medica'] == 1) { ?> Si <i class="fa fa-2 fa-medkit"
style="color:#C00;"></i><?php } else { ?> No<?php } ?>
</td>
<?php if ($_SESSION['tipo'] == 1 || $_SESSION['tipo'] == 2) { ?>
<td class="center">
</td>
<?php } ?>
</tr>
<?php } ?>
</tbody>
【问题讨论】:
-
你试过Mysql trim还是PHP函数?
-
PHP函数,可以用'-'字符分割字段字符串并修剪mysql中的每个结果名称吗?
-
在 myphpadmin 中你看到一个空格还是�?
-
普通空格:S,该字段的排序规则是utf8-spanish-ci,我执行查询:mysqli_query($conexion,"SET CHARACTER SET 'utf8'"); mysqli_query($conexion,"SET NAMES 'utf8'");在 mysqli_connect 之后,PHP 字符集在 php.ini 中设置为 uft8
-
我想看看你的代码..所以我可以确定它为什么没有修剪那些空白,你能不能导出你的数据库并发布一个带有这些类型空白的 INSERT跨度>
标签: php mysql utf-8 character-encoding trim