如何处理外语?

Rod*_*uza 3 html database zend-framework character-encoding special-characters

我正在开发一个巴西网站,它必须支持外国字符á, à, ó, í ú, ê, etc.它也使用AJAX所以我认为更好地使用charset UTF-8因为我总是得到 字符,我不知道如何解决这个问题.

使用时我的导航菜单正确显示UTF-8(因为它查询数据库以呈现整个菜单),但我不知道它是如何做的.以下是数据库的一些屏幕截图及其呈现方式: 数据库替代文字

到现在为止还挺好.麻烦的是我开始使用Zend_Navigation来渲染面包屑,我不知道如何克服我得到的 字符: 面包屑替代文字

我该怎么办?将字符集更改为ISO-8858-1?我已经完成了这个但是看起来像这样的一切都是错的:

替代文字

编辑

另外,当我将其更改missão为例如显示missão而不是missão.此外,我无法手动更改它,因为它在数据库中,我需要一种能够处理这个问题的函数

编辑2

我改变了特殊字符在我的数据库喜欢çãçã现在的HTML渲染被罚款.虽然,我正在使用Zend_Navigation进行面包屑并且它的渲染missão而不是missão像这样:

替代文字

我还使用Zend_Config_Writer_Xml编写了一个XML文件,我看到它打印<label>Informa&#xE7;&#xF5;es</label>而不是<label>Informações</label>.以防万一有帮助

我该怎么办?

Gaz*_*ion 6

这是一篇非常好的文章,当我开始进行Web开发时帮助了我.我在多语言环境中工作,所以我不断碰到这些东西(只是为了增加这篇文章的精彩:)

绝对最低每个软件开发人员绝对必须知道Unicode和字符集(没有借口!)

我总是确保我的文件以UTF8行编码保存,我的php头文件将字符串声明为utf8,我的数据库使用utf8_general_ci进行整理,并且我的html头标记包含将内容声明为utf8的元标记.我认为这涵盖了它.

HTH :)

编辑:只是添加(更多针对您的特定问题)检查您的PHP代码是否将您的结果视为utf8.数据可能正确存储在数据库中,但可以在服务时进行转换.