使 用 PHP 的 iconv 或 mb_convert_encoding 函数进行编码转换,比如将 gb2312 转换为 utf-8 编码,在出现某些特殊字符(减号,连接符)时,不能正常工作,可能会变成问号"?"或者"C"。尝试了多种方法,依然不能很好的解决这个问题。如下代码, 在声明了 //IGNORE 后遇到连接符号"-"仍然会变成符号"?"。

$html = iconv($charset, ‘utf-8//IGNORE‘, $html);

按照 PHP 官网手册中网友提供的解决方法进行尝试,仍然不能解决问题,不知道是不是我本地 PHP 版本的问题。

解决方法一:

Please note that iconv(‘UTF-8‘, ‘ASCII//TRANSLIT‘, ...) doesn‘t work properly when locale category LC_CTYPE is set to C or POSIX. You must choose another locale otherwise all non-ASCII characters will be replaced with question marks. This is at least true with glibc 2.5.

Example:

[翻译]

请注意 iconv 在语言环境类别 LC_CTYPE 类别设置为 C 或者 POSIX 时不能正常的工作。你必须选择另一个语言,否则所有的非 ASCLL 编码将被替换成问号"?"。这个问题在 glibc 2.5 以下是真实的。

举例如下:

setlocale(LC_CTYPE, ‘POSIX‘);

echo iconv(‘UTF-8‘, ‘ASCII//TRANSLIT‘, "?lu?ou?ky k?ň\n");

// ?lu?ou?k? k??

setlocale(LC_CTYPE, ‘cs_CZ‘);

echo iconv(‘UTF-8‘, ‘ASCII//TRANSLIT‘, "?lu?ou?ky k?ň\n");

// Zlutoucky kun

解决方法二:

That will strip invalid characters from UTF-8 strings (so that you can insert it into a database, etc.).  Instead of "none" you can also use the value 32 if you want it to insert spaces in place of the invalid characters.

ini_set(‘mbstring.substitute_character‘, "none");

$text= mb_convert_encoding($text, ‘UTF-8‘, ‘UTF-8‘);

原文:http://my.oschina.net/hosser/blog/398334

php url 减号,PHP编码转换减号(连接符)无法转换问题相关推荐

  1. Notepad++中Windows,Unix,Mac三种格式之间的转换(换行符的转换)

    2019独角兽企业重金招聘Python工程师标准>>> http://www.crifan.com/files/doc/docbook/rec_soft_npp/release/ht ...

  2. PADS使用技巧——页间连接符的方向转换

    PADS原理图中页间连接符的输入输出方向转换 1.页间连接符的表现方式 首先我们要了解一下页间连接符的不同方向代表的含义,参考下图: 2.添加页间连接符 首先在原理图中使用快捷键F2进行添加连线,然后 ...

  3. python编码转换中文_python3如何中文转换编码?

    相信平时各位小伙伴都是习惯用中文的人,就算英文水平不错,毕竟还是中文用起来更顺手一点.不过在计算机编程中,还是以英文为主,会给我们的实际操作带来一些困扰.有时候中文也不能被计算机语言所识别,就会导致报 ...

  4. 在线BASE64加密解密、UrlEncode编码/解码、native/ascii在线转换工具 -toolfk程序员工具网

    本文要推荐的[ToolFk]是一款程序员经常使用的线上免费测试工具箱,ToolFk 特色是专注于程序员日常的开发工具,不用安装任何软件,只要把内容贴上按一个执行按钮,就能获取到想要的内容结果.Tool ...

  5. url 转码 (含中文)%3A转换成“:”,%2F转换成“/”

    String strURL = "";   try {    strURL = URLEncoder.encode(url, "utf-8");   } cat ...

  6. PHP对URL进行字符串编码

    //对URL进行字符串编码和解码 $url1 = 'https://www.baidu.com/uploade/img/123.png'; echo $url1; echo '<br>'; ...

  7. python3文件的编码类型是什么_Python3编码类型有哪些?怎么转换?

    经过小伙伴们的提醒,小编发现编码方面少讲了一个基础知识,所以有的小伙伴对这方面的内容比较模糊,这就让小编有点尴尬了.收到大家的催促,小编马上就整理出了编码类型的资料,内容方面都是经过精简的,便于小伙伴 ...

  8. HttpUtility.UrlEncode 方法 (String) 对 URL 字符串进行编码 NET Framework 4.6 and 4.5

    对 URL 字符串进行编码. 这些方法重载可用于对整个 URL(包括查询字符串值)进行编码. 要编码或解码 Web 应用程序之外的值,请使用 WebUtility 类. 重载此成员.有关此成员的完整信 ...

  9. python字符串的切片方式是[n、m、不包括m_python字符串的操作(去掉空格strip(),切片,查找,连接join(),分割split(),转换首字母大写, 转换字母大小写...)...

    #可变变量:list, 字典 #不可变变量:元祖,字符串 字符串的操作(去掉空格, 切片, 查找, 连接, 分割, 转换首字母大写, 转换字母大小写, 判断是否是数字字母, 成员运算符(in / no ...

最新文章

  1. 知识图谱能否成为企业下一代的数据仓库
  2. 调用加了SSL签名的WebService
  3. 来学习开发一个网页版马里奥小游戏吧
  4. websocketpp 只发送一次
  5. mysql is fashion ctf_《亲爱的,热爱的》中的 CTF 大赛是什么?参加这个比赛的体验怎么样?...
  6. 计算机如何输入ip地址,电脑如何切换ip地址_怎么让电脑切换ip地址-win7之家
  7. 向maven中添加Oracle数据库的驱动,有效!
  8. 城市平乱 (dijkstra模板题)
  9. mac 下安装java, jmeter, ant, jenkins,使用jmeter+ant+jenkins 接口测试集成工具,发送html报告到邮箱中
  10. ssm提交post_SSM中get和post乱码笔记
  11. 使用VMProtect给软件加壳
  12. Latex中文简历制作
  13. idea启动vue项目
  14. 用canvas实现一个简易的涂鸦画板
  15. 计算机输入法无法输入小写字母,键盘不能输入小写字母
  16. 上网访问速度慢的原因(计算机网络常识)
  17. 鸿蒙纪元1.2正式版隐藏英雄,毁灭纪元1.3.2官方版 附隐藏英雄密码+攻略
  18. 《A fast parallel algorithm for thinning digital patterns》论文算法python代码实现
  19. 解决DELL台式机两用音频接口不能识别耳麦的问题
  20. Algorithm之PrA:PrA之IP整数规划(包括0-1整数规划)算法经典案例剖析+Matlab编程实现

热门文章

  1. unity通过浏览器打开网页
  2. word中如何设置默认英文字体和中文字体
  3. #420 Div2 Problem B Okabe and Banana Trees (math 暴力枚举)
  4. 计算机和网络连接不上,电脑宽带连不上怎么办_台式电脑连不上宽带怎么回事-win7之家...
  5. 【雷达波位编排】基于matlab相控阵雷达的波位编排仿真【含Matlab源码 2251期】
  6. php yield 携程,爬取携程国内地区攻略评论
  7. zii.widgets.jui.CJuiDatePicker
  8. [电路]5-电压源、电流源的串联和并联
  9. Project:解决问题:在Microsoft project2016中如何编辑一周七天工作日
  10. java空指针异常 代码案例_java空指针异常:java.lang.NullPointException