全部,我有字符编码的老问题......
我有一个mySQL数据库,其字段设置为utf8_unicode_ci
。我的PHP页面作为标题条目<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
。当我使用简单的表单将带有西里尔字符的数据发布到数据库时,例如'гыдлпоо',字符在textarea中正确显示,并添加到正确显示的数据库中。
从数据库中提取字符时,我的页面只显示一系列问号。我使用了mb_detect_encoding($content, "UTF-8,ISO-8859-1", true);
,内容是UTF-8,但字符不显示。
我一直在搜索(包括SO)并尝试了任何数量的解决方案,但没有用 - 任何帮助都会非常感激。
非常感谢
答案 0 :(得分:3)
在mysql_connect()和mysql_select_db()之后立即执行此操作:
mysql_query("SET NAMES 'utf8'");
答案 1 :(得分:2)
您是否尝试使用
表单enctype="multipart/form-data"
? 这可能会有所帮助..文本在数据库中没有必要可读...当它们被保存时,它们应该是utf8编码的...当你再次输出字符串时你需要它们看起来很好
答案 2 :(得分:2)
在从数据库获取数据之前尝试使用mysql_set_charset()函数。