【问题标题】:How do I prevent smart quotes symbols from being written to my database?如何防止将智能引号符号写入我的数据库?
【发布时间】:2013-10-11 17:19:46
【问题描述】:

我正在使用这个 HTML 将用户输入发送到我的数据库:

<textarea name="description" id="description" cols="30" rows="15"><?php echo $description; ?></textarea>

我用$description = $_POST['description'];解析它并用INSERT INTO将它插入我的Mysql数据库

当我查看我的数据库描述中的记录时,是这样的:“This is one of those books that you don’t want to put down …†Romantic Times

应该是:“This is one of those books that you don’t want to put down …” Romantic Times

问题:如何将智能引号和省略号 (...) 保存到我的数据库中而不会将它们转换为乱码?

已解决:我发现对我有用的解决方案是将我的 html 页面更改为处处的 UTF-8,以便记录可以正确显示在页面上。记录仍然包含奇怪的字符。这是html代码:meta http-equiv="Content-Type" content="text/html; charset=utf-8无处不在"

我还在我的 PHP 页面中使用了ini_set('default_charset', 'utf-8');,现在数据库中有正确的文本和奇怪的字符。

【问题讨论】:

  • 他们不是胡言乱语,they are in UTF-8。只需正确处理字符编码(在任何地方使用 UTF-8 或将输入文本转换为您使用的编码)。
  • Starfield Technologies Mysql 中到处都没有 UTF-8 选项……至少,我看不到。有没有办法在我的 php 网页中将其设置为 UTF-8 Everywhere?我现在正在使用 utf8_general_ci。
  • 可能重复stackoverflow.com/questions/6087309/…,可能 iconv() 函数会救你。
  • 您可以在插入数据库之前尝试使用mysqli_set_charset($mysqli, 'utf8'); 和/或$con-&gt;set_charset("utf8");。我个人最喜欢的是$con-&gt;set_charset("utf8");
  • 我想通了。谢谢。我将我的网页字符集设置为处处 UTF-8:meta http-equiv="Content-Type" content="text/html; charset=utf-8 处处"

标签: php html mysql


【解决方案1】:

您应该使用CHARACTER SET = utf8 来表示所有内容:

  • MySQL 数据库定义。

    CREATE DATABASE mydatabase CHARACTER SET utf8 COLLATION utf8_general_ci;
    
  • MySQL 表定义。

    CREATE TABLE mytable ( ... ) CHARACTER SET = utf8 COLLATION utf8_general_ci;
    
  • MySQL 会话。

    SET NAMES utf8;
    
  • Apache 虚拟主机设置。

    AddDefaultCharset utf-8
    
  • HTML 演示文稿。

    Content-Type: text/html; charset=utf-8
    

更多资源:

The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!) 乔尔·斯波尔斯基(Joel Spolsky)

Character Sets Suck by Ligaya Turmelle

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-12
    • 2012-04-22
    相关资源
    最近更新 更多