php - 在 utf-8 网站中将 str_replace 为锐音符 (´) 时输出错误

标签 php html utf-8

<分区>

在输入表单并提交后,我试图用字符串中的尖音符号 (´) 替换撇号 (')。

<?= str_replace("'","´",$_POST['string']) ?>

例如字符串是:“Jan's Motel”> 应该变成“Jan´s Motel”

这在使用字符集 iso-8859-1 时效果很好,但我需要我的网站使用 utf-8。

I utf-8 结果字符串是“Jan´s Motel”

我不明白为什么会变成“´”而不是“´”

这是我的示例代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>notitle</title>
  </head>

  <body>
    <form action="?" method="post">
      <input type="text" name="string" value="<?= str_replace("'","´",$_POST['name']) ?>" />
    </form>
  </body>
</html>

有人可以帮忙吗?

最佳答案

尝试utf8_decode('')

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>notitle</title>
  </head>

  <body>
    <form action="?" method="post">
      <input type="text" name="string" value="<?= str_replace("'",utf8_decode('`'),$_POST['name']) ?>" />
    </form>
  </body>
</html>

关于php - 在 utf-8 网站中将 str_replace 为锐音符 (´) 时输出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30727643/

相关文章:

php - 解决 UTF8 和法语口音不兼容问题

没有 Pandas 的Python解码excel表

php exec 如何查看进度

php - Slim.php `halt` 方法的行为与记录的不同?

php - 这是正确的 JSON 数据结构吗?

javascript - 未捕获的语法错误 : Unexpected token <

javascript - 返回表格行的元素

php - SQLiteConnector.php 第 34 行 : Database (homestead) does not exist 中的 InvalidArgumentException

html - 使用 Bootstrap 4 进行垂直单元格对齐

Java:无法以 UTF-8 格式保存