如何在php

时间:2016-11-11 22:41:24

标签: php

我是php的初学者。我正在尝试打印包含字母“ñ”的变量,但它无法正确打印。它似乎是一个问号。但是在阵列中打印好了。为什么这样,我该如何解决?我的编纂是UTF-8,这是我的代码

<?php header('content-type:text/html;charset=utf-8');

  $vowels = array('a', 'e', 'i', 'o', 'u');
  $consonants = array('b','c','d','f','g','h','j','k','l','m','n','ñ','p','q','r','s','t','v','w','x','y','z');
  $word = "wxyzñ";
  echo $word;
  echo "<br>" . $word[4] . " " . $consonants[11] ;

?>

即使没有标题,$ word也会打印出来,但是当试图获得单词中的唯一字符时它不起作用。在数组中,“ñ”打印正常。我试图将$ word变量转换为带有str_split的数组,但结果相同。我也尝试了html_entities,但结果相同。请帮忙。谢谢!

1 个答案:

答案 0 :(得分:0)

UTF-8是一种多字节编码。这意味着一个字符可以由多个字节表示。 ñ char实际上由两个字节组成:C3B1。使用$word[4],您只能获得C3,而C3并不代表UTF-8中的任何内容(因此您的浏览器会打印问号)。你应该做的是一起检索两个字节。您可以使用mb_substr

执行此操作
$char = mb_substr($word, 4, 1);