У меня есть HTML-форма, установленная в ISO-8859-1. Теперь я хочу преобразовать строку UCS-2
в строку UTF-8
; этот вывод UTF-8
будет напечатан в <input type="text" name="out" />
. И моя HTML-форма не должна изменять набор символов.
Я прочитал эти вопросы:
Я пытаюсь решить свою проблему с помощью этого кода:
<?php $str = $_POST['str']; ?>
<form method="post">
<input type="text" name="str" value="<?php echo $str; ?>" />
<input type="submit" />
</form>
<hr /><input type="text" name="out" value="<?php echo mb_convert_encoding($str, 'UCS-2', 'UTF-8'); ?>" />
Когда я ввожу слово в UCS-2, например: Việt Nam
, возвращается: �V�i�&�#�7�8�7�9�;�t� �N�a�m
. Почему?
Есть ли способ преобразовать UCS-2 в UTF-8 с помощью PHP; затем вывести в <input type="text" name="out" />
?
mb_convert_encoding
преобразует из UTF-8 в UCS-2. Это не похоже на то, что вы хотите. 2) Мне неясно, почему вам нужно или вы ожидаете, что сможете передавать UTF-8 через ISO-8859-1, почему здесь необходим UCS-2 или как именно вы вводите UCS-2. Проясните пожалуйста многое. - person deceze♦   schedule 04.08.2015