PHP中使用中文和日文时,会遇到个别问题乱码问题。
现在总结一下注意事项。
日文:
1. 不使用Shift-JIS
2. 关闭Magic Quote GPC功能,将其设置为OFF
这样就使得在 POST 和 GET 的时候不会自动添加"\"到变量中。
但是需要注意的是,在将数据输入到MySQL数据库的时候,需要特意添加"\"以防止数据库内部的乱码。
使用函数:addslashes
如果你不能改变服务器的设置(Magic Quote GPC = ON),在使用 POST 和 GET 的时候就需要去掉多余的"\"。
使用函数:stripslashes
一段小例子:(Magic Quote GPC=ON)
if ($_POST['mode'] == "confirm")
{
//在POST的时候去掉"\"以方便页面显示,从而不会出现“表\示”之类的代码
foreach ($_POST as $key => $value)
{
if (!is_array($value))
{
$_POST[$key] = stripslashes($value);
}
}
// DBに登録
$err_msg = oubo_user_update($_POST);
}
//在输入数据库的时候添加"\"
function oubo_user_update($input_data)
{
// 入力データを変数に展開
foreach ($input_data as $key => $value)
{
$key = addslashes($value);
}
...
}(END)