1

我有一个用 php 构建的小型 ajax 应用程序。

使用 phpMyAdmin,我将 mysql 数据库设置为 utf-8,并将包含 utf-8 数据的文本文件导入其中。

在将 character-set-server=utf8 和 default-character-set=utf8 添加到 my.cnf 文件后,这在带有 easyphp 的 Windows 机器上运行良好。

我现在尝试将其移至无法访问配置文件的生产服务器,并且不显示元音变音等字符。

是否可以在 php 代码(而不是配置文件)中设置一些东西来解决这个问题,或者我可以给 mysql 一些命令?

我尝试使用 phpMyAdmin ALTER DATABASE vweb_50DEFAULT CHARACTER SET utf8 COLLATE utf8_bin 从 utf8_general_ci 尝试,但没有任何区别。

4

2 回答 2

1

这里有几件事要做,我不确定我是否正确理解了您的问题,但如果我这样做了,我认为大部分问题都可以使用 PHP 函数utf8_encodeutf8_decode来解决:

  • utf8_encode
    • 将 ISO-8859-1 字符串编码为 UTF-8
  • utf8_decode
    • 此函数将假定为 UTF-8 编码的数据解码为 ISO-8859-1。

此外,如果需要,请查看htmlentities 。

于 2009-01-15T14:59:00.817 回答
0

如果您在整个应用程序中使用 utf-8(我会推荐),则不需要 utf8_encode/decode 函数。您是否检查过您的页面以哪种编码方式提供?可能服务器配置为发送 iso-8859-1 作为字符集,而您的测试环境发送 utf-8。使用 Content-Type 标头设置编码:

header("Content-Type: text/html; charset=utf-8");
于 2009-01-15T22:41:29.523 回答