撇号(')转换为�。

3
我在我的数据库中使用“text”数据类型来存储几行内容。但是,当在我的网站上显示时,使用撇号(')的任何单词例如Malaysia's会变成Malaysia �?如何解决这个问题?

1
你必须转义字符串。你使用的是哪种脚本语言? - ambe5960
1
你可以在中间件中进行转义字符串,你使用的是PHP吗? - Raja Sekar
2
你的数据库采用什么编码方式?是 Latin 还是 UTF8?你是如何将数据存储到数据库中的?你的连接是否采用 UTF8 编码?你的脚本文件是否采用UTF8编码? - h2ooooooo
1
你需要在HTML文档中指定字符编码。 - Salman A
我正在使用latin1_swedish_ci。 - zaha
显示剩余3条评论
3个回答

2

您需要使用mysql_escape_string函数。

示例:

<?php
$item = "Zak's Laptop";
$escaped_item = mysql_escape_string($item);
printf("Escaped string: %s\n", $escaped_item);
?>

我需要为所有使用撇号的单词创建$item。 - zaha

1
你可以使用这个:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

由于这是一个编码问题。

还有,你在评论中提到你正在使用PHP,那么这个也应该可以工作:

<?php
  echo mb_convert_encoding(file_get_contents('Malaysia's'),
    "HTML-ENTITIES",
    "UTF-8"
  );
?>

嗨,我的代码中已经有 charset=UTF-8。如果我使用您提供的 PHP 脚本,是不是需要为所有带撇号的单词创建它? - zaha
1
@zaha:- 你可以将其存储在字符串中,并将该字符串传递给file_get_contents()。如果你从任何网站/ URL / 文件获取它,则将该文件的URL / 路径传递给file_get_contents()方法。 - Rahul Tripathi

1

如果你使用单引号来表示字符串,那么可以尝试使用双引号,例如 "your string",这可能会有所帮助。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接