Charset UTF-8不显示变音符号

时间:2016-07-25 05:04:31

标签: php forms utf-8

嗯,作为一名Web开发人员,德语很糟糕。

我有一个来自。在头脑中,首先是:

<meta charset="utf-8">

我还检查了标题。设置如下:

Content-Type:text/html; charset=UTF-8

在php.ini中,我的default-charset是:

default_charset="utf-8"

问题在于HTML / PHP,因为当我直接在数据库中编写Umlauts(äöü)时,PHP会在var_dump时得到正确的字符串。 另一方面,当我填写textarea并发送表单时,POST参数的var_dump每次都有2个问号,而不是Umlauts。

ä -> ??

我该如何解决?

1 个答案:

答案 0 :(得分:-1)

我很绝望,所以我添加了一些Javascript,它取代了Textbox-Value中的Umlauts,直到表单发送。

$('form').submit( function(ev) {
var textarea = $('form textarea');
var text = textarea.val();

   text = text.replace(/ä/g,"&auml;");
   text = text.replace(/ö/g, '&ouml;');
   text = text.replace(/ü/g, '&uuml;');
   text = text.replace(/Ä/g, '&Auml;');
   text = text.replace(/Ö/g, '&Ouml;');
   text = text.replace(/Ü/g, '&Uuml;');
   text = text.replace(/ß/g, '&szlig;');

   textarea.val(text);
});

在PHP中,我使用html_entity_decode在数据库中写入数据。

    $sql_arr = array(
       'descr'     =>  html_entity_decode($db->sql_escape($request->variable('description', ''))),
       // Some more Data
    );