Drupal中的表单文本字段标题不接受特殊字符

时间:2011-02-17 21:56:04

标签: php html drupal forms hook

我正在尝试使用form_alter钩子给一个drupal形式的元素一个包含特殊字符的标题(é,è,à...)

    $form['title'] = array(
          '#type' => 'textfield',
          '#title' => 'this is my title é à test',
          '#required' => TRUE
          ); 

在表单页面上给我一个空白输出

使用check_plain()函数作为标题不会影响输出:s,仍为空白 我虽然这是一个编码问题,但我检查了所有我的enc设置(数据库,服务器,主题模板),他们都设置为utf-8

请注意,输入包含特殊字符的值时,一切正常。 我认为这里的问题是关于Drupal核心在#title字段中不接受特殊字符?

2 个答案:

答案 0 :(得分:0)

嗯,首先,您应该在代码中使用英语然后翻译它。

检查该文件的编码......

如果你在drupal之外尝试它,只是一个普通的PHP失败打印这些字符,它有效吗?

答案 1 :(得分:0)

我也遇到过法语模块的一些类似问题。我同意Berdir的解决方案是推荐的解决方案,但如果你真的需要在代码中添加重音,你必须先编码你的文件。

在Notepad ++中,您可以使用 Encode 菜单来实现此目的,选择“以UTF-8编码(无BOM)”并检查文件的右下角以查看其格式,应该说“ANSI as UTF-8”。

删除BOM非常重要,因为它可以“搞乱”Linux服务器。

Encode in UTF-8 (without BOM)