需要帮助开发一个2种语言的英语和法语网站

时间:2011-02-12 06:44:38

标签: php mysql

在管理员方面,他输入英文文本,同样将转换为法文(使用谷歌API) 例如在管理员方面,如果我输入文本'类别',同样转换为'catégorie'(在IE --->cat rie) 并以

的形式保存到数据库中
nameEnglish---> category
nameFrench --->catégorie

因为这个过程很好,但我的问题出在用户端,如果用户选择法语,则内容必须以法语显示。但它显示为'catégorie',而不是我存储在DB'catégorie'中。我不知道该怎么办。我应该安装任何语言包吗?还是db问题?

http://gates.cc/works/jp-evolution/blog-detail.php?lang=2&bId=7

4 个答案:

答案 0 :(得分:0)

尝试将特殊字符(如é和ü)存储为HTML实体。

检查PHP函数htmlentities,以便将特殊字符转换为HTML实体。

当你转换时,f.e。 “école”将存储为:école,HTML将正确呈现特殊字符。

编辑:根据我之前的经验,即使我的排序规则设置为UTF-8,我也遇到了同样的问题,不得不使用HTML实体进行转换。因此,我从一开始就将它们存储为HTML实体。

答案 1 :(得分:0)

HTML标头应声明页面编码为UTF-8。

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta charset="UTF-8" />

XHTML的第一个,HTML 5的第二个。

此外,您和DB应该使用UTF-8编码(如果您使用的是MySQL,请尝试使用SET NAMES'utf8')。

这应该可以毫无问题地解决问题。

答案 2 :(得分:0)

要启用UTF-8,需要执行几个步骤。 这是一个非常好的写作。 http://developer.loftdigital.com/blog/php-utf-8-cheatsheet

答案 3 :(得分:0)

您还可以使用php函数将数据库返回的字符串转换为html实体:htmlentities。通过执行此代码,$ string var应该是可显示的。

$string = htmlentities($string,ENT_IGNORE,'ISO8859-1');