相关疑难解决方法(0)

strtolower功能的问题

我的页面中有一些外语文本,但是当我将其设为小写时,它看起来像这样......


$a = "????? ?????????";
echo $b = strtolower($a);
//returns  ????? ?????????
Run Code Online (Sandbox Code Playgroud)

我已经设定<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 你能告诉我为什么吗?提前致谢

php

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

首先在数组中每个第一个字符大写

我试图让我在PHP数组中的所有第一个字符都是大写的.

PHP代码:

<?php
$ordlista = file_get_contents('C:/wamp/www/bilder/filmlista.txt');

$ord = explode("\n", $ordlista);

sort($ord,SORT_STRING);

foreach ($ord as $key => $val) {
    echo $val."<br/>";
}
?>
Run Code Online (Sandbox Code Playgroud)

谢谢你的回答!

解决了:

<?php
$ordlista = file_get_contents('C:/wamp/www/bilder/filmlista.txt');

$ord = explode("\n", $ordlista);

$ord=array_map(function($word) { return ucwords($word); }, $ord);


sort($ord,SORT_STRING);

foreach ($ord as $key => $val) {
    echo $val."<br/>";
}
?>
Run Code Online (Sandbox Code Playgroud)

php arrays

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

php中的UTF-8问题:var_export()返回\ 0 null字符,而ucfirst(),strtoupper()等表现得很奇怪

我们正在处理一个以前从未发生过的Joyent Solaris服务器中的奇怪错误(不会发生在localhost或其他两个具有相同php配置的Solaris服务器上).实际上,我不确定我们是否必须查看php或solaris,以及它是否是软件或硬件问题......

我只是想发布这个,以防有人指出我们正确的方向.

所以,问题似乎是在var_export()处理奇怪的角色时.在CLI中执行此操作,我们在localhost机器和两个服务器中获得预期结果,但不在第三个服务器中获得.所有这些都配置为使用utf-8.

$ php -r "echo var_export('ñu', true);"
Run Code Online (Sandbox Code Playgroud)

在旧服务器和localhost (预期)中给出:

'ñu'
Run Code Online (Sandbox Code Playgroud)

但是在服务器中我们遇到了问题(PHP版本=> 5.3.6),\0每当遇到"不常见"的字符时它会添加空字符:è,á,ç,......你给它命名.

'' . "\0" . '' . "\0" . 'u'
Run Code Online (Sandbox Code Playgroud)

关于应该在哪里看的任何想法?提前致谢.


更多信息:

  • PHP version 5.3.6.
  • setlocale() 没有解决任何问题.
  • default_charsetUTF-8php.ini.
  • mbstring.internal_encoding被设置为UTF-8php.ini.
  • mbstring.func_overload = 0.
  • 这在CLI(示例)和Web应用程序(php-fpm + nginx)中都会发生.
  • iconv 编码也是 UTF-8
  • 所有文件utf-8编码.

system('locale') 收益:

LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_ALL=
Run Code Online (Sandbox Code Playgroud)

到目前为止完成的一些测试(CLI):

正常行为:

$ php …
Run Code Online (Sandbox Code Playgroud)

php localization utf-8 joyent

9
推荐指数
2
解决办法
2588
查看次数

如何制作单词首字母的第一个字母?

我有一个单词default,我想要一个PHP函数,只做首字母大写.我们能做到吗 请帮帮我,因为我对php编码很新.

php uppercase ucfirst

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

strftime在PHP中生成第一个字母大写(大写)

我有代码:

<?php echo strftime("%Y %B %e, %A")?>
Run Code Online (Sandbox Code Playgroud)

在某些语言中我得到:

2012年junio 3,多明戈

我希望所有单词的首字母大写(大写),所以它看起来像:

2012 Junio 3,多明戈

我没有在互联网上找到任何答案,有人有想法吗?:)

php strftime

6
推荐指数
2
解决办法
7871
查看次数

标签 统计

php ×5

arrays ×1

joyent ×1

localization ×1

strftime ×1

ucfirst ×1

uppercase ×1

utf-8 ×1