我有一个供用户选择的菜单。它由 PHP 变量填充,这些变量都是语言变量。例如:
$word = $lang['word'];
$select = array($word);
因此,选择菜单选项将根据用户选择的语言而改变。我需要能够相互比较用户的选择。例如:
if($user1word == $user2word) ...
但是由于语言文件,这不起作用。显然 "one" != "Uno" 即使它们是相同的。我的第一个解决方法是在将所有内容发布到数据库之前将其更改为数值。例子:
if($_POST['word'] == $lang['word']) { $userWord = 1 }
这对所有单词都非常有效,除了那些包含特殊字符(å、æ、é...)的单词,我所做的一切都无法解决这个问题(我尝试了规范化器;表单的语言特定的 accept-char onchange 事件;utf8_encode。它是绝望。
目前,所有内容都以文本形式保存到数据库中,具体取决于用户使用的语言。因此,如果“语言”是一个选项,但您使用的是挪威语,它会保存为“Språk”。
我需要一个不会让我心碎的简单解决方案——我是 PHP 新手。