使用了mysql utf32_unicode_ci和html charset utf-8,但字符 出现了

时间:2012-07-11 12:33:36

标签: mysql html encoding

我在MySQL字段中有一些法语文本,它在PHPMyAdmin下正确显示:

mentionné

该字段编码为utf32_unicode_ci。 (这是varchar(500), utf32_unicode_ci)。

但调用此参数并以utf-8编码的html输出的PHP脚本调用返回:

mentionn�

这是我的php html标题的摘录:

<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="fr-FR">
<head profile="http://gmpg.org/xfn/11">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

除数据库编码外,请务必检查以下内容:

  • 文件的utf8编码(js / php)(超编辑,F12:另存为UTF8-NOBOM)
  • utf8 html内容:<meta HTTP-EQUIV="content-type" CONTENT="text/html; charset=utf-8">
  • 数据库连接的
  • utf8:SET character_set_connection = 'utf8'
  • utf8您的查询结果:SET character_set_results = 'utf8'
  • 您的数据库客户端的utf8:SET character_set_client = 'utf8'
  • utf8你的mysql表:ALTER TABLE table CONVERT TO CHARACTER SET utf8;
  • 数据库服务器的
  • utf8:SET character_set_database = 'utf8'SET character_set_server = 'utf8'
  • 在某些情况下,当硬编码值需要编码时,强制将utf8存入文件是必要的。例如,您需要在文件顶部添加注释charset=utf-8,因此超编辑或您喜欢的编辑器可以检测到它。

RGDS。

ps:我不知道utf32但不知何故逻辑应该是相同的