gpt4 book ai didi

php - 为什么 unicode 在我的 MySQL 表中不起作用?

转载 作者:太空宇宙 更新时间:2023-11-03 11:14:43 27 4
gpt4 key购买 nike

我有一个 MySQL 数据库表,用于存储地址,包括 Norwegain 地址。

CREATE TABLE IF NOT EXISTS `addresses` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`street1` varchar(50) COLLATE utf8_danish_ci NOT NULL,
`street2` varchar(50) COLLATE utf8_danish_ci DEFAULT 'NULL',
`zipcode` varchar(10) COLLATE NOT NULL,
`city` varchar(30) COLLATE utf8_danish_ci NOT NULL,
PRIMARY KEY (`id`),
KEY `index_store` (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_danish_ci;

现在,这张表一直很好,直到我搞砸了,不小心将所有城市设置为“测试”。幸运的是,我有另一个名为 helper_zipcode 的表。此表包含挪威的所有邮政编码和城市。

所以我用 helper_zipcode 中的数据更新了 addresses 表。

不幸的是,在前端,像 Bodø 这样的城市现在显示为 Bod�
所有 æ ø å 现在都显示为 � � (但它们在数据库中看起来不错)。

我使用的是 HTML 5,所以我的 header 如下所示:

<!DOCTYPE HTML>
<head>
<meta charset = "utf-8" />
(...)

这不是我第一次与 unicode 斗争。

在数据库中存储 unicode 字符(来自欧洲)并在从数据库中检索时以相同方式显示的 secret 是什么?

最佳答案

来自 mysql docs :

Posted by lorenz pressler on May 2 2006 12:46pm [Delete] [Edit]

if you get data via php from your mysql-db (everything utf-8) but still get '?' for some special characters in your browser (<meta
http-equiv="Content-Type"
content="text/html; charset=utf-8"
/>
), try this:

after mysql_connect() , and mysql_select_db() add this lines: mysql_query("SET NAMES utf8");

worked for me. i tried first with the utf8_encode, but this only worked for äüöéè... and so on, but not for kyrillic and other chars.

您的问题是将数据存储在 mysql 中还是使用 php 检索存储的数据?

关于php - 为什么 unicode 在我的 MySQL 表中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5911626/

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