我有一个用UTF-8编码的PHP文件,如下所示:
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
在使用sql请求之前,我添加了这一行:
mysql_query("SET NAMES 'utf8'");
我的数据库在UTF-8
和varchar列中编码latin_swedish_ci
结果如下图所示:
答案 0 :(得分:0)
Chang代码到此
mysql_query("SET NAMES UTF8");
像这样保存文件
答案 1 :(得分:0)
这是由于您的列的排序规则/字符集不正确所致。即使您的数据库密钥集是UTF-8
,列的字符集也优先。要处理日语中的特殊字符,您的列应设置为utf8_bin
而不是latin_swedish_ci
答案 2 :(得分:0)
要遵循的一些步骤:
UTF8的元标记。
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
将PHP设置为使用UTF8。
mb_internal_encoding('UTF-8');
mb_http_output('UTF-8');
mb_http_input('UTF-8');
对于MySql,您必须将表格转换为UTF8。
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci
同时运行:
SET NAMES UTF8
作为建立连接后的第一个查询,它将您的数据库连接转换为UTF8。
答案 3 :(得分:0)
header('Content-Type: text/html; charset=utf-8');
从浏览器中检查它认为当前页面编码是什么:
MySQL应该只用“set names utf8”,表dada自动编码到mysql连接编码