【发布时间】:2020-01-15 22:50:47
【问题描述】:
$_SESSION 中的德语变音符号存在问题。我做以下事情:
<?php
$_SESSION['name']= 'abcüdef' // where ü is a german umlaut
header("Location: AnotherScript.php");
die();
?>
重定向工作正常,但在 AnotherScript.php 中 $_SESSION 中的 'ü' 已更改。
另一个Script.php是这样的:
<php
echo $_SESSION['name']; // shows abc?def
?>
文件以 utf8 编码,没有 DOM, 两个文件中的字符集都是 utf8。
如果我通过 html 中的按钮(而不是通过标题)调用 AnotherScript.php,一切都很好。 猜头(“位置:AnotherScript.php”);不要将使用过的字符集提供给被调用的脚本。我试过这样的东西:header("Location: AnotherScript.php; charset=utf-8"),但它不起作用。 ini_set('default_charset','utf-8');在 session_start() 之前或之后;没有效果。
感谢您的帮助!
【问题讨论】:
-
你用吗? => header('Content-type: text/html; charset=utf-8');
-
是的,我愿意。在这两个文件中。
-
请展示一个完整的可重现示例。 session_start() 也丢失了。并且对于纯 php 文件,不要使用关闭标签
-
你用什么字符编码保存了 PHP 脚本文件?
-
它的 utf8 没有 DOM - 但感谢您的帮助,我做了一个解决方法。见答案。