我正在运行以下代码来选择和更改文本语言。但是当我选择我的区域语言时,它会显示出类似的内容。你可以在这里看到这个例子
आपके इनबॉकà¥à¤¸ में 36 संदेश है.जिसमे आपने 4 नहीं पà¥à¥‡ है
我的代码是..
<?php
$lang=$_POST['lang'];
if($lang=='hindi')
{
printf(file_get_contents("hindi.txt"),36,4);
}
if($lang=='english')
{
printf(file_get_contents("template.txt"),36,4);
}
?>
<form method="POST" action="<?php $_SERVER['PHP_SELF'];?>">
<select name="lang">
<option value="hindi">Hindi</option>
<option value="english">English</option>
</select>
<input type="submit"/>
</form>
答案 0 :(得分:0)
当对实际文件进行编码时,此答案非常有用:How to set UTF-8 encoding for a PHP file
上面的答案向浏览器发送了一个手动覆盖标题,告诉它它应该显示为UTF-8。
基本上只是确保将所有.php文件保存为UTF-8编码,同样确保所有数据库表格和表格都以UTF-8编码 - 否则你仍然会出现奇怪的字符
像Notepad ++(在Windows上)这样的编辑器有一个设置可以默认使用所有新文件UTF-8 - 可能值得一看你的编辑器并查看是否还有一个选项 - 将来省去麻烦(如果你忘记了) - 去过那里并完成了。)
答案 1 :(得分:0)
你应该使用
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
html head部分中的标记。 即,您只使用原始php生成输出,然后使用此元标记 -
<!DOCTYPE html>
<html>
<head><title>Your Page Title here</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<?php
$lang=$_POST['lang'];
if($lang=='hindi')
{
printf(file_get_contents("hindi.txt"),36,4);
}
if($lang=='english')
{
printf(file_get_contents("template.txt"),36,4);
}
?>
<form method="POST" action="<?php $_SERVER['PHP_SELF'];?>">
<select name="lang">
<option value="hindi">Hindi</option>
<option value="english">English</option>
</select>
<input type="submit"/>
</form>
</body>
</html>