php post get 繁体日文韩文时 自动添加 反斜杠 问题

Posted kclteam

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php post get 繁体日文韩文时 自动添加 反斜杠 问题相关的知识,希望对你有一定的参考价值。

做些二次开发项目,数据库、文件编码没法大规模的修改,比如二次开发一个日文系统,编码是JA16SJIS,$_POST或$_GET的信息中如果“申請”,得到的信息就会变成“申\請”,多出一个反斜杠!

先贴出整理的解决办法,在有需要的地方或配置文件中加入如下代码

if (get_magic_quotes_gpc()) {
    function stripslashes_deep($value)
    {
        $value = is_array($value) ?
        array_map(‘stripslashes_deep‘, $value) :
        stripslashes($value);
        return $value;
    }
    $_POST = array_map(‘stripslashes_deep‘, $_POST);
    $_GET = array_map(‘stripslashes_deep‘, $_GET);
    $_COOKIE = array_map(‘stripslashes_deep‘, $_COOKIE);
}

 

网络整理相关:

查了一下,貌似可以设置php.ini中的magic_quotes_runtime

在php的配置文件中,有个布尔值的设置,就是magic_quotes_runtime,当它打开时,

php的大部分函数自动的给从外部引入的(包括数据库或者文件)数据中的溢出字符加上反

斜线。 当然如果重复给溢出字符加反斜线,那么字符串中就会有多个反斜线,所以这时

就要用set_magic_quotes_runtime()与get_magic_quotes_runtime()设置和检测php.ini

文件中magic_quotes_runtime状态。 为了使自己的程序不管服务器是什么设置都能正常

执行。可以在程序开始用get_magic_quotes_runtime检测该设置的状态决定是否要手工处理

,或者在开始(或不需要自动转义的时候)用set_magic_quotes_runtime(0)关掉该设置。

magic_quotes_gpc设置是否自动为GPC(get,post,cookie)传来的数据中的\‘\"\\加上反斜

线。可以用get_magic_quotes_gpc()检测系统设置。如果没有打开这项设置,可以使用

addslashes()函数添加,它的功能就是给数据库查询语句等的需要在某些字符前加上了反

斜线。这些字符是单引号(\‘)、双引号(\")、反斜线(\\)与 NUL(NULL 字符)。

一般用法如下;
if(!get_magic_quotes_gpc())
{
    addslashes($prot);
}

以上是关于php post get 繁体日文韩文时 自动添加 反斜杠 问题的主要内容,如果未能解决你的问题,请参考以下文章

常见编码格式

xampp搭建本地环境

怎么把网页英语转化为这个中文

Elasticsearch如何使用 Elasticsearch 6.2 搜索中文日文和韩文文本 - 第 2 部分: 多字段

如何彻底删除xampp

判断字符串是否为UTF8编码