我正在创建一个简单的注册表,您必须在其中的textarea中键入您的昵称。当用户使用波兰语字符(、等)时会出现问题。当我尝试通过echo显示整个字符串时,它看起来就像它应该显示的那样,但是当我尝试只显示一个字符时,它会显示这个奇怪的符号。
function ech($nam) { echo $nam; echo "</br>"; echo $nam[1]; } $te = $_POST['sth']; //$te equals "ÅżÄ" now ech($te);
输出:
ÅżÄ
�
对字符串的字符使用偏移量,如 $nam[1] 实际上只返回一个字节,但字符是多个字节。使用多字节安全字符串函数,如 mb_substr($nam, 0, 1)
$nam[1]
mb_substr($nam, 0, 1)