每次我输入此字符’
’
都会收到此类结果
从数据库中提取数据时我已经使用mysql_query('SET CHARACTER SET utf8');
。
我的HTML上已经有<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />.....
这个。
这里缺少什么?非常感谢您的帮助和奖励!
谢谢!
答案 0 :(得分:3)
我注意到您正在运行此查询... mysql_query('SET CHARACTER SET utf8');
尝试将其更改为此...
mysql_query("SET NAMES 'utf8'");
这应该确保连接是UTF-8。
另请尝试浏览本文中的项目列表... http://blog.loftdigital.com/blog/php-utf-8-cheatsheet
这列出了确保您在站点/应用程序中从前到后使用UTF-8所需的步骤,但总结如下:
mb_internal_encoding('UTF-8');
。mysql_query("SET NAMES 'utf8'");
后运行此MySQL查询,以确保连接为UTF-8。header('Content-type: text/html; charset=UTF-8');
。如果您已将mb_internal_encoding()
设置为上述但对调试<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
答案 1 :(得分:1)
尝试使用charset collate进行选择并使用utf8_bin,如下所示:
SELECT k COLLATE utf8_bin AS k1
FROM t1
ORDER BY k1;
如果它适合你,你可以使用alter table更改列的整理,这是我今天用于其中一个dbs的例子:(你也可以用phpMyAdmin轻松完成这个)
ALTER TABLE `users`
CHANGE `name` `name` VARCHAR( 255 )
CHARACTER SET utf8 COLLATE utf8_bin NOT NULL
但请先备份!
答案 2 :(得分:0)
我遇到了同样的问题,并且解决了:
mysql>字符集utf8mb4
我读到某处utf8在mysql中坏了,必须改用utf8mb4。