Php 为什么unicode在我的MySQL表中不起作用?
我有一个MySQL DB表,其中存储地址,包括Norwegain地址Php 为什么unicode在我的MySQL表中不起作用?,php,mysql,html,unicode,Php,Mysql,Html,Unicode,我有一个MySQL DB表,其中存储地址,包括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', `zi
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;
现在,这张桌子很好,直到我搞砸了,意外地设置了所有的城市=‘测试’。Luckilly我有另一个名为helper\u zipcode
的表。此表包含挪威的所有Zipcode和城市
所以我用helper\u zipcode
中的数据更新了addresses
表
不幸的是,在前端,像Bodø
这样的城市现在显示出像Bod�代码>
所有æå
现在显示为� � �代码>(但它们在数据库中看起来很好)
我使用的是HTML 5,因此我的标题如下所示:
<!DOCTYPE HTML>
<head>
<meta charset = "utf-8" />
(...)
(...)
这不是我第一次使用unicode
在数据库中存储unicode字符(来自欧洲)并在从数据库检索时以相同方式显示的安全性是什么?如果将浏览器编码从自动检测更改为UTF-8或unicode,会发生什么情况
我想确定的是数据库还是网络浏览器出了问题
或者。如果您有一个用于MySQL数据库的数据库工具,它会显示正确或错误的字符吗?如果您将浏览器编码从自动检测更改为UTF-8或Unicode,会发生什么情况
我想确定的是数据库还是网络浏览器出了问题
或者。如果您有一个用于MySQL数据库的数据库工具,它会显示正确或错误的字符吗?来自MySQL:
洛伦兹·普雷斯勒于5月2日发布
2006年12时46分[删除][编辑]
如果你
通过php从mysql数据库获取数据
(所有utf-8)但仍然得到“?”
为您的游戏中的一些特殊角色
浏览器(
),请尝试以下操作:
在mysql\u connect()
之后,以及
mysql\u选择\u db()
添加以下行:
mysql\u查询(“SET NAMES utf8”)代码>
为我工作。我先试了一下
utf8\u编码
,但这只适用于
äüöéè... 等等,但不是为了
基里尔语和其他字符
在mysql中存储数据或使用php检索存储的数据时出现问题吗?从mysql:
洛伦兹·普雷斯勒于5月2日发布
2006年12时46分[删除][编辑]
如果你
通过php从mysql数据库获取数据
(所有utf-8)但仍然得到“?”
为您的游戏中的一些特殊角色
浏览器(
),请尝试以下操作:
在mysql\u connect()
之后,以及
mysql\u选择\u db()
添加以下行:
mysql\u查询(“SET NAMES utf8”)代码>
为我工作。我先试了一下
utf8\u编码
,但这只适用于
äüöéè... 等等,但不是为了
基里尔语和其他字符
在mysql中存储数据或使用php检索存储的数据时出现问题吗?在查询(第一次)之前,您必须添加mysql\u查询(“设置名称UTF8”) 在查询(第一次)之前,您必须添加mysql_查询(“SET NAMES UTF8”) helper\u zipcode
表的字符集是什么?出于兴趣,如果您将浏览器编码从自动检测更改为UTF-8或Unicode,会发生什么情况?试图确定是数据库还是Web浏览器出错。SET NAMES utf8
(或mysql\u set\u charset()
或数据库库提供的定义连接字符集的任何内容)可能就是它。@Russ C-没有区别。所以这不是浏览器的问题。@Spudley,在我更改它之前,它被设置为DEFAULT CHARSET=utf8代码>现在我将其更改为默认字符集=utf8 COLLATE=utf8\u danish\u ci代码>。但是,即使我通过MySQL管理器应用程序(Toad for MySQL
)更改城市名称,我仍然会收到奇怪的框。helper\u zipcode
表的字符集是什么?只是出于兴趣,如果您将浏览器编码从自动检测更改为UTF-8或Unicode会发生什么?试图确定是数据库还是Web浏览器出错。SET NAMES utf8
(或mysql\u set\u charset()
或数据库库提供的定义连接字符集的任何内容)可能就是它。@Russ C-没有区别。所以这不是浏览器的问题。@Spudley,在我更改它之前,它被设置为DEFAULT CHARSET=utf8代码>现在我将其更改为默认字符集=utf8 COLLATE=utf8\u danish\u ci代码>。但是,即使我通过MySQL管理器应用程序(Toad for MySQL
)更改城市名称,我仍然会收到奇怪的框。没有名为NVARCHAR
的数据类型。我找到的唯一参考资料是thishttp://dev.mysql.com/doc/refman/5.0/en/string-type-overview.html. 那么我在哪里做这件事呢?是的,很抱歉,我误读了这个问题,虽然是SQL server。没有名为NVARCHAR
的数据类型。我找到的唯一参考资料是thishttp://dev.mysql.com/doc/refman/5.0/en/string-type-overview.html. 那我该在哪里做呢?是的,很抱歉,我误读了这个问题,虽然是SQL server。事实上就是这样。我将它添加到我的PDO连接数组(PDO::MYSQL\u ATTR\u INIT\u COMMAND=>“SET NAMES utf8”)
。我不得不升级到PHPV5.3,因为在早期版本中有一个bug阻止我使用它。事实上就是这样。我将它添加到我的PDO连接数组(PDO::MYSQL\u ATTR\u INIT\u COMMAND=>“SET NAMES utf8”)
。我不得不升级到PHPV5.3,因为早期版本中有一个bug阻止我使用它。