【发布时间】:2015-07-30 05:11:00
【问题描述】:
我有一个 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。为什么?
有没有办法通过 PHP 将 UCS-2 转换为 UTF-8;然后,输出到<input type="text" name="out" />?
【问题讨论】:
-
1) 您的
mb_convert_encoding调用将从 UTF-8 转换为 UCS-2。这听起来不像你想要的。 2) 我不清楚你为什么需要或期望你可以通过 ISO-8859-1 传输 UTF-8,为什么这里需要 UCS-2,或者你如何“输入 UCS-2”。请澄清很多。 -
您在 UCS-2 中究竟是如何输入一个单词的?
-
所以您只是在浏览器的文本字段中输入?你为什么认为这会产生 UCS-2?
标签: php html utf-8 character-encoding ucs2