【问题标题】:Wrong charset in mysql [duplicate]mysql中的错误字符集[重复]
【发布时间】:2015-02-26 20:28:31
【问题描述】:

我有一个页面,其中包含向 mysql 数据库添加或编辑条目的表单。一切正常,表单显示正确,页面输出正确。

只有当我打开 mysql 数据库 (phpMyAdmin) 时,条目才会显示错误。一些德语字母是错误的。

例如 André 而不是 André。或groß 而不是groß

页面上的输出工作正常。 HTML 表单中的编辑功能也可以正常工作。 我只是不明白为什么数据库中的所有内容都写错了。

我所有的 PHP 页面都在“utf-8”中。

【问题讨论】:

  • mysql_query("SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'");

标签: php mysql character-encoding utf


【解决方案1】:

访问此链接:

http://dev.mysql.com/doc/refman/5.0/en/charset-applications.html

创建数据库时,可以通过utf8设置CHARACTER SET。

例子:

  CREATE DATABASE tablename 
  DEFAULT CHARACTER SET utf8
  DEFAULT COLLATE utf8_general_ci;

确保您的数据库也设置了 UTF8 字符

您可以像这样转换现有表格:

ALTER TABLE tablename CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;

【讨论】:

    【解决方案2】:

    将标题添加到您的 php 代码的顶部。这将设置内容的编码。

    header('Content-Type: text/html; charset=utf-8');
    

    您可以使用在您的数据库中设置的任何编码,而不是utf-8

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-19
      • 2011-03-03
      • 2021-04-02
      相关资源
      最近更新 更多