![]() |
1
72
使用regex方法:
它搜索UTF-8序列,并将其捕获到组1中。它还匹配无法识别为UTF-8序列一部分的单个字节,但不能捕获这些字节。第1组中的替代品。这样可以有效地删除所有无效的字节。 可以通过将无效字节编码为UTF-8字符来修复字符串。但是如果错误是随机的,这可能会留下一些奇怪的符号。
编辑:
我也加快了比赛的速度。它不单独匹配每个字符,而是匹配有效的UTF-8字符序列。 |
![]() |
2
115
如果你申请
我做了一个处理所有这些问题的函数。它叫
您不需要知道字符串的编码是什么。它可以是latin1(iso8859-1)、windows-1252或utf8,或者字符串可以混合使用。
我这样做是因为一个服务给了我一个数据源,所有的数据都乱七八糟的,把这些编码混合在同一个字符串中。 用途:
我还包含了另一个函数encoding::fix utf8(),它将修复每一个看起来像是多次编码到utf8的乱码产物的utf8字符串。 用途:
实例:
意志产出:
下载: |
![]() |
3
52
您可以使用mbstring:
…将删除无效字符。 见: Replacing invalid UTF-8 characters by question marks, mbstring.substitute_character seems ignored |
![]() |
4
17
此函数删除所有非ASCII字符,它很有用,但不能解决问题:
它是如何工作的:
|
![]() |
5
11
这是我正在使用的。似乎工作得很好。取自 http://planetozh.com/blog/2005/01/remove-invalid-characters-in-utf-8/ |
![]() |
6
10
试试这个:
根据 iconv manual 函数将第一个参数作为输入字符集,第二个参数作为输出字符集,第三个参数作为实际输入字符串。
如果将输入和输出字符集都设置为
UTF-8
,并附加
|
![]() |
7
6
从php 5.5开始可以使用uconverter。如果您使用intl扩展而不使用mbstring,那么uconverter是更好的选择。
从php 5.4开始,htmlspecialchars可以用来删除无效的字节序列。htmlspecialchars在处理大字节和精度方面优于preg_匹配。使用正则表达式可以看到很多错误的实现。
|
![]() |
8
5
我做了一个从字符串中删除无效UTF-8字符的函数。 在生成XML导出文件之前,我使用它来清除27000个产品的描述。
|
![]() |
9
5
文本可能包含 非UTF8字符 . 先试着做:
您可以在这里阅读更多信息: http://php.net/manual/en/function.mb-convert-encoding.php news |
![]() |
10
3
|
![]() |
11
2
从最近的补丁到Drupal的feeds json解析器模块:
如果您关心是,它将保留空格作为有效字符。 做了我需要的。它删除了现在广泛使用的emoji字符,这些字符不适合MySQL的“utf8”字符集,这给了我一些错误,比如“sqlstate[hy000]:general error:1366 incorrect string value”。 |
![]() |
12
1
所以规则是第一个 UTF-8 octlet将高位设置为标记,然后1到4位指示多个附加的octlet;然后每个附加的octlet必须将高位2位设置为10。 伪python应该是:
同样的逻辑应该可以翻译成PHP。然而,当你得到一个畸形的角色时,它不清楚要做什么样的剥离。 |
![]() |
13
1
要删除Unicode基本语言平面之外的所有Unicode字符,请执行以下操作:
|
![]() |
14
0
与问题略有不同,但我要做的是使用htmlencode(string)。 此处为伪代码
输入和输出
我知道这并不完美,但这是我的工作。 |
![]() |
15
-1
|
![]() |
Jacco · 未能格式化我的日期以在php中正确工作 1 年前 |
![]() |
jay ram · 如何在URL核心php中从API获取JSON? 1 年前 |
|
Ishwarya A · php电子表格在浏览器中显示多张excel 1 年前 |