Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Почему такая ерунда? (https://forum.antichat.xyz/showthread.php?t=85803)

попугай 23.09.2008 01:54

Почему такая ерунда?
 
PHP код:

<script>
alert(String.fromCharCode(   -248   ))
</
script

Выдает символ .. все корректно.. А это -

PHP код:

<?php
echo chr(-248);
?>

Выдает квадраты


Функции то одинаковые.... кодировки менял в браузере - не помогает..

zlo12 23.09.2008 03:06

String не решает?)

Zabuldon 23.09.2008 13:42

попробуй ковычки добавить чтобы явно указать что тип String

попугай 23.09.2008 14:27

Какой String ?

функция chr() принимает параметр integer

etc 23.09.2008 14:37

Вполне возможно, что дело в кодировке...

попугай 24.09.2008 22:03

Цитата:

Вполне возможно, что дело в кодировке...
Например?

astrologer 24.09.2008 22:34

Вообще-то, функция String.fromCharCode должна сначала приводить все переданные аргументы к беззнаковому типу, поэтому:
Код:

String.fromCharCode( -n ) === String.fromCharCode( n );
Хотя некоторые реализации могут об этом забывать.

Вероятно, в PHP такого преобразования не производится.

попугай 24.09.2008 22:48

пробовал делать так

PHP код:

 <script
alert(String.fromCharCode(   -248   )) 
</
script

а потом так

PHP код:

 <script
alert(String.fromCharCode(   248   )) 
</
script

выдает разные значения...


Вообще непонятно, почему, казалось бы одинаковые функции выдают разные резальты..
String.fromCharCode( ) и chr()

astrologer 24.09.2008 23:00

Цитата:

Сообщение от попугай
Вообще непонятно, почему, казалось бы одинаковые функции выдают разные резальты..
String.fromCharCode( ) и chr()

Всё же это функции двух разных языков. А какой символ с кодом -248 ты ожидал увидеть? :)

попугай 24.09.2008 23:05

Цитата:

Всё же это функции двух разных языков. А какой символ с кодом -248 ты ожидал увидеть?
Ну разных, то разных.. но смысл один - получить символ по его коду..

с кодом -248 скрипт на яваскрипте выдает символ "("


Время: 13:17