gpt4 book ai didi

php - ä ö 字符编码,在 PHP 中,Zend MySQL- 应用程序

转载 作者:太空宇宙 更新时间:2023-11-03 11:06:15 24 4
gpt4 key购买 nike

问题:

当我从 MySQL 表中检索值到我的 PHP Zend Framework 应用程序时,字符 ä 和 ö 会像这样从数据库返回到我的浏览器。

有什么想法可能会出现问题吗?我已经尝试将一些属性设置为 UTF-8,但仍然会发生这种情况......我想我还是错过了一些东西。

您能否提供一些解决方案,我可以确定如何摆脱它?我需要设置什么配置等等。

谢谢你:)

最佳答案

当浏览器读取错误编码的字符时,它们会显示为 � 或 ?。某处存在编码不匹配:

  • 在您的浏览器中
  • 在数据库表整理
  • 在 HTML 字符集中

这些字符可以在 Unicode UTF-8 中使用,因此您应该验证您的数据库表排序规则是 utf8_bin 或类似的,因为如果您想以 UTF-8 瑞典语存储所有内容,您可能使用 utf8_swedish_ci

在您的浏览器中,确保您的内容编码设置为自动检测。

要在 MySQL 中创建一个 UTF-8/utf8_bin 表,这里是一个例子:

CREATE TABLE `sample` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

要更改现有表以使用 UTF-8,请使用以下命令:

ALTER TABLE table_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;

This post对于是否使用 CONVERT TO CHRACTER SET utf8

有很好的解释

注意 CHARSETCOLLATE 必须同时设置,否则会自动得到 COLLATE=utf8_general_ci

对于 HTML,可以使用以下方式设置字符集:

<meta charset="UTF-8">

关于php - ä ö 字符编码,在 PHP 中,Zend MySQL- 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11742916/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com