小编cod*_*gel的帖子

php exec()在unicode模式下?

我需要执行命令行命令和工具,接受ut8作为输入或生成ut8输出.所以我使用cmd一个它的工作原理,但是当我从php用exec尝试这个时它不起作用.为了简单起见我尝试了简单的输出重定向.

当我在命令提示符下直接写:

chcp 65001> nul &&echoцчшщюя-öüäß> utf8.txt

创建了uft8.txt,内容是正确的.

цчшщюя-öüäß

当我使用php的exec函数时:

$cmd = "chcp 65001 > nul && echo ??????-öüäß>utf8.txt";
exec($cmd,$output,$return);
var_dump($cmd,$output,$return);
Run Code Online (Sandbox Code Playgroud)

utf8.txt中的内容搞砸了:

¥A¥Î¥^¥%¥ž¥?-ÇôǬÇÏÇY

我正在使用Win7,64bit和(控制台)代码页850.

我该怎么做才能解决这个问题?

其他信息:我试图克服在Windows上读取和写入utf8文件名的一些问题.PHP文件函数失败:glob,scandir,file_exists无法正确处理utf8文件名.文件是不可见的,跳过,名称被更改...因此我想避免PHP文件功能,我正在寻找一些PHP外部文件处理.

php cmd exec utf-8

9
推荐指数
1
解决办法
4834
查看次数

如何在Eclipse PDT中获取图形化UML类图?

我是Eclipse-PDT用户,他希望在OOP类设计和重构过程中有一些图形辅助工具.

我的IDE:Eclipse Mars.1发布(4.5.1)

我使用Eclipse进行Java开发,并且知道有很多工具可以提供帮助.Eclipse PHP开发工具仍然落后于集成和支持.

有些工具用php编写,像phpuml一样,它有助于生成xmi(v2.1).目前phpuml(v1.6.2)由于过时的xmlns url而不生成有效的xmi:

<?xml version="1.0" encoding="iso-8859-1"?>
<xmi:XMI xmi:version="2.1" 
        xmlns:uml="http://schema.omg.org/spec/UML/2.1.2"
        xmlns:xmi="http://schema.omg.org/spec/XMI/2.1"
        xmlns:php="http://schemas/phpdoc/56af3cdf127e68.04124969">
Run Code Online (Sandbox Code Playgroud)

这些URL通过在Eclipse Ecore模型编辑器中尝试打开来导致异常视图:

org.eclipse.emf.ecore.xmi.PackageNotFoundException: 
Package with uri 'http://schema.omg.org/spec/XMI/2.1' not found

org.eclipse.emf.ecore.xmi.ClassNotFoundException: 
Class 'Documentation' is not found or is abstract.
Run Code Online (Sandbox Code Playgroud)

有人知道我怎么解决这个问题?

但一般来说,我发现这些外部工具只是暂时的解决方法,直到有"集成"的东西可用.

更好的方法可以是在运行时直接实现和生成.因此可以通过以下方式跳过同步问题:

  1. 使用eclipse内部解析和分析php类.Outline-View-Panel中显示的信息基本上是单个类图.完整的类图可能有几个步骤:
  2. 只需向上追随继承树
  3. 在图形类图表概述中显示文件夹或所选资源.

这至少是理论.

问题:

  • 我在思考正确的方向吗?
  • 基于eclipse解析,是否已经有类似的东西,它与语言无关?
  • 如何在Eclipse PDT中获取图形化UML类图?

php xml uml eclipse-pdt eclipse-emf

6
推荐指数
1
解决办法
731
查看次数

标签 统计

php ×2

cmd ×1

eclipse-emf ×1

eclipse-pdt ×1

exec ×1

uml ×1

utf-8 ×1

xml ×1