SQLite 3 UTF-8 can';无法获取PHP mojibake中的第一个字符

SQLite 3 UTF-8 can';无法获取PHP mojibake中的第一个字符,php,sqlite,unicode,Php,Sqlite,Unicode,这个问题似乎很平常。我已经使用PHP的PDO和本机驱动程序连接到SQLite 3数据库,我试图将值的第一个字母与自定义的预定义字母数组进行比较,当我试图访问如下字段的整个值时: <?= $row['naziv_opstine'];?> 但当我尝试以数组形式访问字符串或使用substr显示字符串时,如下所示: <?= substr($row['naziv_opstine'],0,1);?> <?= $row['naziv_opstine'][0];?> 有人

这个问题似乎很平常。我已经使用PHP的PDO和本机驱动程序连接到SQLite 3数据库,我试图将值的第一个字母与自定义的预定义字母数组进行比较,当我试图访问如下字段的整个值时:

<?= $row['naziv_opstine'];?>
但当我尝试以数组形式访问字符串或使用substr显示字符串时,如下所示:

<?= substr($row['naziv_opstine'],0,1);?>
<?= $row['naziv_opstine'][0];?>

有人知道会出现什么问题吗,DB和HTML都将编码设置为UTF-8?

在UTF8中,
Ž
将占用多个字节(只有拉丁-1字符是单字节)

考虑使用:


<?= substr($row['naziv_opstine'],0,1);?>
<?= $row['naziv_opstine'][0];?>
<?= mb_substr($row['naziv_opstine'], 0, 1, 'UTF-8');?>