php – 不同服务器上的不同字符集?

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 不同服务器上的不同字符集?脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我刚刚在本地测试了我的Web应用程序,一切正常,但上传服务器应用程序后表现不同.我使用函数formatiraj_string_url来转换变音符号并获得干净的url …本地它工作正常但在服务器上这个函数不会以相同的方式转换它们.

几天前我在第三台服务器上进行了测试,并且运行正常.现在我正在上传web以在第三台服务器上再次测试它,但我只是想知道这种行为的真正原因是什么

function formatiraj_string_url($string)
    {
        $string = strtolower($string);

        $znak[0] = ' ';
        $znak[1] = 'Š';
        $znak[2] = 'š';
        $znak[3] = 'Đ';
        $znak[4] = 'đ';
        $znak[5] = 'Č';
        $znak[6] = 'č';
        $znak[7] = 'Ć';
        $znak[8] = 'ć';
        $znak[9] = 'Ž';
        $znak[10] = 'ž';
        $znak[11] = 'Š';
        $znak[12] = 'Đ';
        $znak[13] = 'Č';
        $znak[14] = 'Ć';
        $znak[15] = 'Ž';
        $znak[16] = 'š';
        $znak[17] = 'đ';
        $znak[18] = 'č';
        $znak[19] = 'ć';
        $znak[20] = 'ž';
        $znak[21] = 'Š'; // Š
        $znak[22] = 'š'; // š

        $zamjena[0] = '-';
        $zamjena[1] = 's';
        $zamjena[2] = 's';
        $zamjena[3] = 'd';
        $zamjena[4] = 'd';
        $zamjena[5] = 'c';
        $zamjena[6] = 'c';
        $zamjena[7] = 'c';
        $zamjena[8] = 'c';
        $zamjena[9] = 'z';
        $zamjena[10] = 'z';
        $zamjena[11] = 's';
        $zamjena[12] = 'd';
        $zamjena[13] = 'c';
        $zamjena[14] = 'c';
        $zamjena[15] = 'z';
        $zamjena[16] = 's';
        $zamjena[17] = 'd';
        $zamjena[18] = 'c';
        $zamjena[19] = 'c';
        $zamjena[20] = 'z';
        $zamjena[21] = 's';
        $zamjena[22] = 's';

        $string = str_replace($znak,$zamjena,$string);
        $new_string = PReg_replace("/[^a-zA-Z0-9-s]/","",$string);
        return $new_string;
    }

编辑:在str_replace之前,此函数使用preg_replace.在服务器上,这是错误显示

Warning: preg_replace() [function.preg-replace]: Compilation Failed: nothing to rePEat at offset 0 in /home2/sinjcom/public_htML/sinj.COM.hr/administracija/include/funkcije.PHP on line 200

但在当地,我没有这个问题

你写的文件是哪个charset?

由于您已将要替换的字符直接替换为代码(如字符串),因此它们将编码在文件使用的任何字符集中.如果该字符集与您从浏览器获得的字符集不同,则您的功能将不起作用.

您需要记住的重点是始终跟踪字符串编码的字符集,并在必要时进行转换.

看看Kore Nordmanns FAQ about charsets in PHP有关charsets的更多指示.

脚本宝典总结

以上是脚本宝典为你收集整理的php – 不同服务器上的不同字符集?全部内容,希望文章能够帮你解决php – 不同服务器上的不同字符集?所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。