相关疑难解决方法(0)

如何在PHP中获取字符串的十六进制转储?

我正在调查PHP5中的编码.有没有办法获得字符串的原始十六进制转储?即字符串中每个字节(非字符)的十六进制表示?

php string encoding hex character-encoding

64
推荐指数
3
解决办法
7万
查看次数

ucfirst()函数用于多字节字符编码

我问过strtolower功能.但是当使用外来字符时,它不会将它们转换为大写,所以我必须使用:

 mb_strtolower($a,"utf8");
Run Code Online (Sandbox Code Playgroud)

但是,如果我想使用ucfirst()功能,我该怎么办?我没有找到任何类似的功能,我可以设置编码类型.

php character-encoding

57
推荐指数
5
解决办法
4万
查看次数

准备PHP应用程序以与UTF-8一起使用

UTF-8现在是Web应用程序的事实标准,但PHP不是PHP的默认编码(直到6.0).默认情况下,大多数服务器都设置为ISO-8859-1编码.

如何重载默认设置.htaccess以确保UTF-8,语言环境等一切顺利?Web服务器的任何选项,Unix操作系统?

这些设置有没有全面的清单?例如mbstring选项,iconv设置,区域设置等我应该为每个多语言项目设置?任何预先定义.htaccess的例子?

(在我的特殊情况下,我需要设置语言:英语,荷兰语和俄语.服务器在乌克兰).

php unicode webserver utf-8 character-encoding

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

PHP Multi Byte str_replace?

我正在尝试在PHP中进行重音字符替换但得到时髦的结果,我的猜测是因为我使用UTF-8字符串并且str_replace无法正确处理多字节字符串..

$accents_search     = array('á','à','â','ã','ª','ä','å','Á','À','Â','Ã','Ä','é','è',
'ê','ë','É','È','Ê','Ë','í','ì','î','ï','Í','Ì','Î','Ï','œ','ò','ó','ô','õ','º','ø',
'Ø','Ó','Ò','Ô','Õ','ú','ù','û','Ú','Ù','Û','ç','Ç','Ñ','ñ'); 

$accents_replace    = array('a','a','a','a','a','a','a','A','A','A','A','A','e','e',
'e','e','E','E','E','E','i','i','i','i','I','I','I','I','oe','o','o','o','o','o','o',
'O','O','O','O','O','u','u','u','U','U','U','c','C','N','n'); 

$str = str_replace($accents_search, $accents_replace, $str);
Run Code Online (Sandbox Code Playgroud)

结果我得到:

Ørjan Nilsen -> ?orjan Nilsen
Run Code Online (Sandbox Code Playgroud)

预期结果:

Ørjan Nilsen -> Orjan Nilsen
Run Code Online (Sandbox Code Playgroud)

编辑:我的内部字符处理程序设置为UTF-8(根据mb_internal_encoding()),$ str的值也是UTF-8,所以从我所知,所涉及的所有字符串都是UTF-8.str_replace()是否检测到char集并正确使用它们?

php string replace multibyte-functions

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

preg_replace + UTF-8在一台服务器上不起作用,但在另一台服务器上起作用

echo preg_match("/\b(?????|????)\b/iu", "???? ?????");
Run Code Online (Sandbox Code Playgroud)

出于某种原因,此代码在我测试过的几台服务器上返回1,但在一台特定服务器上返回0.

PCRE编译时支持UTF-8和Unicode属性.可能是什么问题?

php utf-8 preg-replace

5
推荐指数
1
解决办法
854
查看次数