Странные символы в PHP


Это сводит меня с ума.

У меня есть один php-файл на тестовом сервере, который не работает.. Я продолжал удалять из него материалы, пока он не стал

<?
print 'Hello';
?>

Он выводит

Я "¿ Привет

Если я создам новый файл и скопирую/вставлю в него тот же сценарий, он сработает! Почему этот файл все время выдает мне странные символы?

Author: Jerph, 2008-08-16

3 answers

Это Спецификация (метка порядка байтов), которую вы видите.

В вашем редакторе должен быть способ принудительного сохранения без спецификации, который устранит проблему.

 17
Author: Pat, 2008-08-20 10:52:49

Нашел его, файл -> кодировка -> UTF8 со спецификацией, изменен на UTF:-)

Я должен был спросить, прежде чем тратить время на то, чтобы понять это:-)

 3
Author: , 2008-08-15 21:28:53

На всякий случай, вот список байтов для спецификации

Encoding    Representation (hexadecimal)
UTF-8   EF BB BF
UTF-16 (BE) FE FF
UTF-16 (LE) FF FE
UTF-32 (BE) 00 00 FE FF
UTF-32 (LE) FF FE 00 00
UTF-7   2B 2F 76, and one of the following bytes: [ 38 | 39 | 2B | 2F ]†
UTF-1   F7 64 4C
UTF-EBCDIC  DD 73 66 73
SCSU    0E FE FF
BOCU-1  FB EE 28 optionally followed by FF†
 2
Author: , 2008-09-17 18:16:38