39得票4回答
Windows API:ANSI和宽字符字符串——是UTF8还是ASCII?UTF-16还是UCS-2 LE?

我对编码并不是很精通,但这是我所知道的(可能有误): ASCII 是一种7位固定长度的编码,包含在 ASCII 表中的字符。 UTF8 是一种8位可变长度的编码,所有字符均可用 UTF8 编写。 UCS-2 LE/BE 是固定长度的16位编码,支持大多数常见字符。 UTF-16 是一种16...

33得票4回答
mbstring启用时,mb_convert_encoding出现未定义函数的问题

我有一台运行 PHP 5.3.8、Apache2 和 MySQL 的服务器 (Ubuntu 11.10 x64)。我目前在做一个需要使用特定字符编码的项目,但我发现没有任何多字节 (mb_*) 函数可用。 然而,当我查看 phpinfo() 时,我看到多字节支持已启用。 我尝试了像 apt-g...

27得票4回答
带有外文字符的php sprintf()函数怎么用?

似乎sprintf在处理外语字符时存在问题?还是我的操作有误?不过当从字符串中删除像åäö这样的字符时,它似乎可以正常工作。这样做是否必要? 我希望以下行能够正确对齐以用于报告:2011-11-27 A1823 -Ref. Leif - 12 873,00 ...

13得票4回答
PHP多字节str_replace?

我正在尝试在PHP中进行重音字符替换,但结果奇怪,我猜测这是因为我使用的是UTF-8字符串,而str_replace无法正确处理多字节字符串。$accents_search = array('á','à','â','ã','ª','ä','å','Á','À','Â','Ã','Ä',...

12得票2回答
替换preg_match_all的多字节函数是什么?

我正在寻找一种多字节函数来替换 preg_match_all()。我需要一个能给我匹配字符串数组的函数,就像 preg_match()中的 $matches 参数一样。函数 mb_ereg_match()似乎不能做到这一点--它只给我一个布尔值,表示是否有任何匹配项。 查看mb_*函数页面,...

8得票3回答
libc中的regcomp和regexec支持多字节字符

有没有办法让libc6的正则表达式函数regcomp和regexec正确处理多字节字符呢?例如,如果我的模式是utf8字符猫机+猫,在utf8编码的字符串猫机机机猫上查找匹配将失败,而应该成功。我认为这是因为字符机的字节表示是\xe6\x9c\xba,而+匹配一个或多个字节\xba。我可以通过...

8得票2回答
在字符串中使用`strstr`搜索多字节UTF-8字符是否安全?

根据我之前的问题:为什么`strchr`似乎可以使用多字节字符,尽管手册中有免责声明?,我发现strchr是一个不好的选择。 相反,我考虑使用strstr来查找一个单个字符(多字节而不是char): const char str[] = "This string contains é wh...