【问题标题】:How to work with two databases in utf-8 and iso-8859-1如何使用 utf-8 和 iso-8859-1 中的两个数据库
【发布时间】:2013-08-31 23:10:11
【问题描述】:

我有一个使用 UTF-8 编码的 MySQL 数据库和一个使用 ISO-8859-1 的 VisualFox 数据库 (dbase)。

我在编码方面遇到了很多问题。

我想知道在 iso-8859-1 或 utf-8 上使用我的 html 页面是否更好。将iso转utf8或utf8转iso更好?

或者,当数据来自 mysql 数据库时,我应该在网站上使用 utf8,而当我使用来自 visualfox 数据库的数据时,我应该使用 iso 吗?最好混合使用或仅使用一种编码。

编码、转义等问题让我头疼万分!尤其是因为 odbc 数据库缺乏好的驱动。

最后,我想知道我是否使用 iso-8859-1 编码连接到 mysql,我得到的是该编码中的数据,而不是存储数据的 utf8?

有什么建议吗?

【问题讨论】:

  • 你应该到处使用 UTF8。
  • ISO-8859 只能编码 UTF-8 可以编码的一小部分字符。如果您使用任何非“latin1”字符,您几乎别无选择,只能使用 UTF-8。诀窍就是尽可能将所有内容都保存在 UTF-8 中。尽快转换来自 VF 数据库的数据,并尽可能晚地将它们转换为 ISO-8859。应该就是这样,真的。

标签: php database encoding utf-8 iso-8859-1


【解决方案1】:

使用 UTF8 以获得灵活性。

使用 PHP utf8_encode() 函数修复您的数据同步问题。

【讨论】:

  • utf8_encode 不会神奇地修复任何东西;该声明应该澄清很多。
  • 什么? utf8_encode() 是一个非常特殊的函数,可以将 ISO-8859-1 转换为 UTF8 编码……它没有神奇地修复什么?
  • 这是对初学者的必要澄清。将任何内容发送到 VF 数据库时,您还必须采用其他方式。
  • 实际上,他可能应该坚持使用 UTF8,但如果他想倒退,他总是可以使用utf8_decode()。不过我建议不要这样做,因为 UTF 更灵活。 ISO 唯一真正的优势是企业级的可扩展性,但如果您的应用程序正在拉动足够的流量以实际考虑更改编码以减少少量数据传输成本,那么您的应用程序可能也有相当数量的国际流量。全面的 UTF8 可能是他对于可公开访问的网络应用程序的最佳选择。
  • 当然。但我只是假设他无论出于何种原因都无法将他的 VF 数据库切换到 UTF-8。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-11-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-24
  • 2012-03-09
  • 2020-10-21
相关资源
最近更新 更多