<?php
//open connection to mysql db
$connection = mysqli_connect( "mysql.kit-series.net", "XXXXX", "XXXXXX", "kit_series_net" ) or die( "Error " . mysqli_error( $connection ) );
$connection->set_charset( "utf8" );
//fetch table rows from mysql db
$nombre = $_POST['nombre'];
$select = "SELECT ID FROM wp_qnnpx4_posts WHERE post_type='tvshows' AND post_title = '" . $nombre . "'";
$result = $connection->query( utf8_encode( $select ) );
$result = $result->fetch_assoc();
$id = $result['ID'];
echo $select;
echo $id;
//close the db connection
mysqli_close( $connection );
只有当$ nombre具有重音且在PHP文件中使用时,结果才是预期的,并且它不会返回任何结果。
我在那种情况下打印了选择,把它放在控制台上,然后就可以了。我不知道还能做些什么。
有什么想法吗?
答案 0 :(得分:0)
除非您正在处理非UTF8字符串,否则请勿使用utf8_encode
。从您的问题和评论中可以看出,您完全使用UTF8(HTML,数据库,数据库连接,PHP文件编码),因此调用utf8_encode
不仅没有必要,而且会产生反作用。
正如对PHP docs on utf8_encode
的赞赏所说:
如果您的文字未在
ISO-8859-1
中编码,则不需要此功能。如果您的文字已在UTF-8
,则不需要此功能。实际上,将此函数应用于未在ISO-8859-1
中编码的文本很可能会简化该文本。