在我的网站上,访问者可以进行一些内联编辑。我使用ajax与MySQL数据库和PHP。我希望在网站上使用荷兰语。
我的挑战是让字符编码运行良好。
我可以使用建议:
我使用nicEdit作为javascript wysiwyg编辑器。
我当然可以解释一下,我想要保存什么,以及如果这有助于我,但我认为最好是理解这件事,而不是仅仅试图快速修复它。
[编辑] 详细说明:
我在PHP中使用这些
$input = stripslashes($input); //(if magic quotes are 'on')
$input = mysql_real_escape_string($input);
$input = strip_tags($input, '<strong><em><span><ul><ol><p><a><br><li>');
在我的htmlpage中:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
使用Javascript:
x = excape(x);
数据库:
MySQL connection collation: utf8_general_ci
Table options: DEFAULT CHARSET=utf8
这是发生的事情的一个例子:
我输入(内联)单词Rëg(在我的mac上使用'option + u'然后'e')。
我救了这个词。它显示如下:网页上的R g
在数据库中,我找到了Rëg。
我打开编辑器,除了再次保存之外什么都不做,它显示:数据库和页面上的R%uFFFDg。之后它不再改变了。
非常感谢任何帮助 金
答案 0 :(得分:1)
它显示如下:网页上的R g。
您需要指示您使用UTF-8显示网页的Web浏览器,并且它应该将其解释为相同。将以下内容添加到PHP的顶部,之前向输出发送任何字符:
header('Content-Type: text/html; charset=utf-8');
只有<meta>
标记是不够的。 webbrowser不使用它。重要的是响应头。顺便说一下,Javascript的escape()
函数是deprecated。
答案 1 :(得分:0)
只需使用UTF-8即可,通常只会有效。