PHP 中文处理技巧

时间:2024-05-11 09:45:09 

折腾了一天的时间,才弄出点眉目来。
做AJAX应用或Flash应用,提交中文内容到后台,涉及到编码解码(encode、decode)及编码格式的转换。
网上的PHP端escape unescape函数建议不要用,它把中英文混合时的英文过滤掉了,我是莫名其妙了N久啊,建议用unicode_urldecode这个。
再就是编码格式的转换,这主要涉及数据的存储和客户端返回,用iconv就搞定,这个函数似乎是从C++中借鉴来的。


function unicode_urldecode($url)
{
preg_match_all('/%u([[:alnum:]]{4})/', $url, $a);
foreach ($a[1] as $uniord)
{
$dec = hexdec($uniord);
$utf = '';
if ($dec < 128)
{
$utf = chr($dec);
}
else if ($dec < 2048)
{
$utf = chr(192 + (($dec - ($dec % 64)) / 64));
$utf .= chr(128 + ($dec % 64));
}
else
{
$utf = chr(224 + (($dec - ($dec % 4096)) / 4096));
$utf .= chr(128 + ((($dec % 4096) - ($dec % 64)) / 64));
$utf .= chr(128 + ($dec % 64));
}
$url = str_replace('%u'.$uniord, $utf, $url);
}
return urldecode($url);
}
标签:PHP,中文处理
0
投稿

猜你喜欢

  • 重命名SQLServer数据库的方法

    2024-01-26 15:40:34
  • Python调用Redis的示例代码

    2021-02-10 09:51:10
  • Vue 微信端扫描二维码苹果端却只能保存图片问题(解决方法)

    2024-05-02 16:58:01
  • Go编写定时器与定时任务详解(附第三方库gocron用法)

    2024-05-09 09:40:19
  • 通过 Django Pagination 实现简单分页功能

    2021-03-15 15:53:03
  • 浅谈Python中的私有变量

    2023-07-21 17:59:46
  • 讲解SQL Server安装sp4补丁报错的解决方法

    2009-04-11 17:39:00
  • asp和php下textarea提交大量数据发生丢失的解决方法

    2023-10-26 09:01:43
  • 老生常谈 js中this的指向

    2024-04-23 09:29:31
  • 一个非常实用的php文件上传类

    2023-08-15 17:04:56
  • Python绘制词云图之可视化神器pyecharts

    2023-02-23 01:35:25
  • MySQL中SQL命令语句条件查询实例详解

    2024-01-12 19:45:48
  • python结合selenium获取XX省交通违章数据的实现思路及代码

    2022-04-15 21:30:57
  • go开源项目用户名密码验证的逻辑鬼才写法

    2024-05-08 10:44:20
  • python微信跳一跳系列之棋子定位颜色识别

    2023-01-16 04:52:49
  • Mysql索引性能优化问题解决方案

    2024-01-27 12:14:41
  • Mysql中limit的用法方法详解与注意事项

    2023-11-16 09:20:05
  • SQL Server连接中经常出现的3个常见错误与解答

    2010-07-26 14:25:00
  • asp之让Session永不过期

    2011-04-15 10:42:00
  • Python简单实现安全开关文件的两种方式

    2022-09-15 01:54:38
  • asp之家 网络编程 m.aspxhome.com