创建多语言输入字段的方法

时间:2013-06-25 08:10:47

标签: javascript html forms multilingual

我有一个带有输入字段的表单。当我在其中写入包含变音符号的文本时,将值保存到db并重新加载页面,我在表单中看到带有变音符号的书面文本,如我输入的那样。示例:我在保存重新加载后键入Bär我看到的页面是Bär

现在,问题是当我插入俄语或中文字母时,它们会按预期显示。 但是当我将它们保存到db并重新加载页面时,我得到了错误的字符表示。

示例:我写Москва。保存表单并重新加载页面后,我会看到Москва。这看起来像html实体无法正确显示,但我认为这是unicode十六进制字符代码。

如何存储和检索以html格式正确显示的外国字母?

2 个答案:

答案 0 :(得分:1)

首先尝试添加
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
如果这不起作用,请检查数据库和表中的默认协作。当我必须使用翻译并且​​对我有用时,我总是使用utf8_general_ci

答案 1 :(得分:0)

自己找到解决方案。

实际上,输入字段的值首先得到utf-8编码,然后在写入数据库之前进行cp1252编码。

当我从数据库中检索输入字段数据时,我需要调用这个小替换(perl代码)

$inputfield_text=~ s/&(#[xX]?[0-9a-fA-F]+;)/&$1/g;
输出字符串之前