相关疑难解决方法(0)

PHP:在不知道原始字符集的情况下将任何字符串转换为UTF-8,或者至少尝试

我有一个应用程序来处理来自世界各地的客户,当然,我希望进入我的数据库的所有内容都是UTF-8编码的.

对我来说主要的问题是我不知道任何字符串的来源是什么编码 - 它可以来自文本框(使用<form accept-charset="utf-8">仅在用户实际提交表单时才有用),或者它可能是从上传的文本文件,所以我真的无法控制输入.

我需要的是一个函数或类,它确保进入我的数据库的内容尽可能采用UTF-8编码.我已经尝试iconv(mb_detect_encoding($text), "UTF-8", $text); 但是有问题(如果输入是'fiancée'它返回'fianc').我尝试了很多东西= /

对于文件上传,我喜欢要求最终用户指定他们使用的编码,并向他们展示输出结果的预览,但这对于讨厌讨厌的黑客没有帮助(事实上,它可以使他们的生活更容易一点).

我已经阅读了关于这个主题的其他SO问题,但它们似乎都有微妙的差异,例如"我需要解析RSS提要"或"我从网站上搜集数据"(或者,实际上,"你不能").

但必须有一些东西至少有一个好的尝试!

php utf-8 character-encoding

143
推荐指数
4
解决办法
27万
查看次数

如何在PHP中检测格式错误的utf-8字符串?

iconv函数有时会给我一个错误:

Notice:
iconv() [function.iconv]:
Detected an incomplete multibyte character in input string in [...]
Run Code Online (Sandbox Code Playgroud)

有没有办法在将数据输入到无线电之前检测到utf-8字符串中存在非法字符?

php encoding utf-8 iconv

22
推荐指数
1
解决办法
3万
查看次数

确保在PHP中使用有效的utf-8

我正在使用PHP来处理来自各种来源的文本.我不认为它将是UTF-8,ISO-8859-1或WINDOWS-1252以外的任何东西.如果它不是其中之一,我只需要确保文本变成有效的UTF-8字符串,即使字符丢失也是如此.iconv的// TRANSLIT选项是否解决了这个问题?例如,此代码是否确保字符串可以安全地插入到UTF-8编码的文档(或数据库)中?

function make_safe_for_utf8_use($string) {

    $encoding = mb_detect_encoding($string, "UTF-8,ISO-8859-1,WINDOWS-1252");

    if ($encoding != 'UTF-8') {
        return iconv($encoding, 'UTF-8//TRANSLIT', $string);
    }
    else {
        return $string;
    }
}
Run Code Online (Sandbox Code Playgroud)

php encoding utf-8

20
推荐指数
3
解决办法
2万
查看次数

解释这个UTF-8检测正则表达式

这个问题询问如何检测UTF-8字符串 - 如何检测是否必须对字符串应用utf8解码或编码?

解决方案是这样的:

if (preg_match('!!u', $string))
{
   // this is utf-8
}
else 
{
   // definitely not utf-8
}
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚如何分解"!! u"表达式.我点击了所有PHP的PCRE内容,可能错过了"!"的描述.标记和"你" - 的东西.我尝试通过perl的YAPE :: Regex :: Explain运行它(如在解释这个Perl正则表达式中所见)并且无法获得有意义的东西[我不是perl专家 - 不知道我是否喂它正确的表达/字符串].

那么......究竟是如何preg_match('!!u', $string)运作的?

php regex

4
推荐指数
2
解决办法
1058
查看次数

从字符串中删除.

我正在尝试批量阅读ID3数据.在某些曲目上,ÿþ出现.我可以删除前两个字符,但这会伤害没有它的曲目.

这就是我目前拥有的:

$trackartist=str_replace("\0", "", $trackartist1);
Run Code Online (Sandbox Code Playgroud)

任何建议都会很棒,谢谢!

php id3

4
推荐指数
1
解决办法
7445
查看次数

标签 统计

php ×5

utf-8 ×3

encoding ×2

character-encoding ×1

iconv ×1

id3 ×1

regex ×1