С htmlentities () :
<?php
echo htmlentities("\xE4");
?>
Однако стоит отметить, что:
- Сеансы не заботятся о кодировке символов.
- Сущности HTML не требуются в документах HTML Unicode (за исключением символов с особым значением в HTML, таких как
<
и >
).
Так что это не решит вашу проблемуэто просто скроет; -)
Обновление
Я упустил ссылку на \00e4
в исходном вопросе.Символ ä соответствует кодовой точке U+00E4
Unicode.Однако PHP не поддерживает кодовые точки Unicode.Если вам нужно набрать его в своем коде PHP , и на вашей клавиатуре нет такого символа, вы можете сохранить документ как UTF-8 и затем предоставить байты UTF-8 (c3а4) с синтаксисом двойных кавычек :
<?php
// \[0-7]{1,3} or \x[0-9A-Fa-f]{1,2}
echo "\xc3\xa4";
?>
Тем не менее, это не имеет отношения к сеансам или HTML.Я не могу понять, в чем именно заключается ваша проблема.
Второе обновление
Так что serialize () не может обрабатывать ассоциативные массивы, а json_decode () не может передаваться с помощью вывода json_encode () ...
<?php
$associative_array = array(
'foo' => 'ä',
'bar' => 33,
'gee' => array(10, 20, 30),
);
var_dump($associative_array);
echo PHP_EOL;
var_dump(serialize($associative_array));
echo PHP_EOL;
var_dump(unserialize(serialize($associative_array)));
echo PHP_EOL;
var_dump(json_encode($associative_array));
echo PHP_EOL;
var_dump(json_decode(json_encode($associative_array)));
echo PHP_EOL;
?>
...
array(3) {
["foo"]=>
string(2) "ä"
["bar"]=>
int(33)
["gee"]=>
array(3) {
[0]=>
int(10)
[1]=>
int(20)
[2]=>
int(30)
}
}
string(83) "a:3:{s:3:"foo";s:2:"ä";s:3:"bar";i:33;s:3:"gee";a:3:{i:0;i:10;i:1;i:20;i:2;i:30;}}"
array(3) {
["foo"]=>
string(2) "ä"
["bar"]=>
int(33)
["gee"]=>
array(3) {
[0]=>
int(10)
[1]=>
int(20)
[2]=>
int(30)
}
}
string(42) "{"foo":"\u00e4","bar":33,"gee":[10,20,30]}"
object(stdClass)#1 (3) {
["foo"]=>
string(2) "ä"
["bar"]=>
int(33)
["gee"]=>
array(3) {
[0]=>
int(10)
[1]=>
int(20)
[2]=>
int(30)
}
}
Мне кажется, что вы добавляете несколько уровней сложности к простому сценарию, потому что вы делаете предположения о том, как работают некоторые функции PHP вместопроверить руководство или проверить себя.На данный момент предоставленная информация едва ли напоминает исходный вопрос, и мы до сих пор не увидели ни единой строки кода.
Пока мой совет: попытайтесь прекратить отладку приложения в целом, разделите егона меньшие части и используйте var_dump (), чтобы узнать, что на самом деле генерирует каждая из этих частей.Не принимайте вещи: сами проверяйте вещи.Также учтите, что PHP не поддерживает Unicode, как это делают другие языки.Каждая отдельная задача, которая включает обработку двухбайтовой строки, должна быть тщательно реализована с помощью соответствующих многобайтовых функций, которые часто требуют жесткого кодирования кодировки символов.