如何在PHP / HTML中使用区域语言

时间:2013-12-29 02:47:37

标签: php html

我正在运行以下代码来选择和更改文本语言。但是当我选择我的区域语言时,它会显示出类似的内容。你可以在这里看到这个例子

Example Link

आपके इनबॉकà¥à¤¸ में 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>

2 个答案:

答案 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>