问题列表 - 第15309页

如何在Perl中将输入文件转换为UTF-8编码?

我已经知道如何将文件的非utf8编码内容逐行转换为UTF-8编码,使用类似下面的代码:

# outfile.txt is in GB-2312 encode    
open my $filter,"<",'c:/outfile.txt'; 

while(<$filter>){
#convert each line of outfile.txt to UTF-8 encoding   
    $_ = Encode::decode("gb2312", $_); 
...}
Run Code Online (Sandbox Code Playgroud)

但我认为Perl可以直接将整个输入文件编码为UTF-8格式,所以我尝试了类似的东西

#outfile.txt is in GB-2312 encode
open my $filter,"<:utf8",'c:/outfile.txt'; 
Run Code Online (Sandbox Code Playgroud)

(Perl说像"utf8"\ xD4"没有映射到Unicode")

open my $filter,"<",'c:/outfile.txt'; 
$filter = Encode::decode("gb2312", $filter); 
Run Code Online (Sandbox Code Playgroud)

(Perl在未打开的文件句柄上说"readline()!"

它们不起作用.但有没有办法直接将输入文件转换为UTF-8编码?

更新:

看起来事情并不像我想象的那么简单.我现在可以以环形方式将输入文件转换为UTF-8代码.我首先打开输入文件,然后将其内容编码为UTF-8,然后输出到新文件,然后打开新文件以进行进一步处理.这是代码:

open my $filter,'<:encoding(gb2312)','c:/outfile.txt'; 
open my $filter_new, '+>:utf8', 'c:/outfile_new.txt'; 
print $filter_new $_ while <$filter>; 
while (<$filter_new>){
...
} 
Run Code Online (Sandbox Code Playgroud)

但这是太多的工作,它比简单地逐行编码$ filter的内容更麻烦.

unicode perl utf-8 character-encoding

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

将SQL数据从一个表移动到另一个表

我想知道是否可以将所有数据行从一个表移动到另一个表,这与某个查询匹配?

例如,我需要将所有表行从Table1移动到Table2,其中username ='X'和password ='X',这样它们将不再出现在Table1中.

我正在使用SQL Server 2008 Management Studio.

sql sql-server

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

PHP,create_function还是在运行时评估它?

我有一个类,其中一些方法依赖于一个参数.编写此方法的最佳方法是什么?

例:

第一种方式

class Test{

    var $code;

    function Test($type){
        if($type=="A"){
            $this->code=create_function(/*some args and some code*/);
        }
        else if($type=="B"){
            $this->code=create_function(/*some args and some code*/);
        }
    }

    function use(/*some args*/){
        return call_user_func($this->code,/*some args*/);
    }
}
Run Code Online (Sandbox Code Playgroud)

第二种方式

class Test{

    var $type;

    function Test($type){
        $this->type=$type;
    }

    function use(/*some args*/){
        if($this->type=="A"){
            //some code
        }
        else if($this->type=="B"){
            //some code
        }
    }
}

$test=new Test("A");
$test->use();
Run Code Online (Sandbox Code Playgroud)

你会选择哪种方式?

php if-statement class create-function

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

强制类覆盖.equals方法

我有一堆实现通用接口的类:Command.

这一堆课程转到了Map.

为了使Map正常工作,我需要每个实现Command的类来覆盖该Object.equals(Object other)方法.

没关系.

但我想强迫平等的压倒一切.=>当实现命令的东西不重写等于时出现编译错误.

这可能吗?

编辑:BTW,我还需要强制重写哈希码...

java overriding requirements interface equals

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

makefile中的预构建步骤

如何运行必须在所有其他makefile命令之前执行的脚本?如果没有什么可构建的话,脚本的执行会很好(但不是强制性的).

我搜索了SO和谷歌,但找不到任何东西.

我有这个解决方法:

# myscript.bat output is empty
CHEAT_ARGUMENT = (shell myscript.bat)
CFLAGS += -DCHEAT_ARGUMENT=$(CHEAT_ARGUMENT)
AFLAGS += -DCHEAT_ARGUMENT=$(CHEAT_ARGUMENT)
Run Code Online (Sandbox Code Playgroud)

但它非常难看.还有其他方法可以在makefile中运行" pre-build step " 吗?

makefile prebuild

30
推荐指数
3
解决办法
4万
查看次数

在Rails上执行大量操作

我正在尝试在Rails应用程序中实现批量更新功能,我要更新的模型是一个宁静的资源。我需要显示一个表格,其中每一行都是单个资源并具有一个复选框。用户可以选择任意数量的框,然后选择要对所有选定资源执行的操作,例如删除,更改状态等。

有谁知道如何最好地将它融入铁轨宁静的工作方式中?

谢谢。

rest resources ruby-on-rails

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

如何使用Log4Net登录每个线程的单独文件?

我的应用程序使用几个具有明确定义名称的线程(即不是具有'匿名'线程的线程池).现在,所有这些线程都将其日志消息发送到一个文件 - 尽管线程ID是日志行的一部分,但这使得分析应用程序行为变得非常困难.因此,我希望每个线程都登录到自己的日志文件中.

似乎Log4Net没有内置选项来根据线程选择一个appender.有谁知道这个解决方案?请注意,我显然不希望切换到另一个日志库.

logging log4net multithreading

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

在数据库中存储枚举值的最佳方法 - String或Int

我的应用程序中有许多枚举,在某些类中用作属性类型.

将这些值存储在数据库中的最佳方法是什么,如String或Int?

仅供参考,我还将使用流畅的Nhibernate映射这些属性类型.

示例代码:

public enum ReportOutputFormat
{
    DOCX,
    PDF,
    HTML
}

public enum ReportOutputMethod
{
    Save,
    Email,
    SaveAndEmail
}

public class ReportRequest
{
    public Int32 TemplateId
    {
        get { return templateId; }
        set { templateId = value; }
    }
    public ReportOutputFormat OutputFormat
    {
        get { return outputFormat; }
        set { outputFormat = value; }
    }

    public ReportOutputMethod OutputMethod
    {
        get { return outputMethod; }
        set { outputMethod = value; }
    }
}
Run Code Online (Sandbox Code Playgroud)

database nhibernate enums fluent

19
推荐指数
2
解决办法
7363
查看次数

为什么我不能在预处理器条件下使用sizeof?

我知道sizeof是一个运算符,它在编译时被计算为整数常量.但它似乎不能在#if预处理器指令中使用,如:

#if 4 == sizeof(int)
    typedef int Int32;
#endif
Run Code Online (Sandbox Code Playgroud)

(cygwin-gcc 3.4.4以及Visual C++ 6.0报告编译错误)

为什么不允许这样的使用?

c sizeof c-preprocessor

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

.Net4,Monitor.Enter(lockObject,acquiredLock)

在.Net4中,Monitor.Enter(Object)被标记为已废弃:

[ObsoleteAttribute("This method does not allow its caller to reliably release the lock.  Please use an overload with a lockTaken argument instead.")]
public static void Enter(
    Object obj
)
Run Code Online (Sandbox Code Playgroud)

并且有一个新方法Monitor.Enter(lockObject,acquiredLock)具有以下用法:

bool acquiredLock = false;

try
{
    Monitor.Enter(lockObject, ref acquiredLock);

    // Code that accesses resources that are protected by the lock.

}
finally
{
    if (acquiredLock)
    {
        Monitor.Exit(lockObject);
    }
}
Run Code Online (Sandbox Code Playgroud)

我曾经这样做过:

Monitor.Enter(lockObject);
try
{

    // Code that accesses resources that are protected by the lock.
}
finally …
Run Code Online (Sandbox Code Playgroud)

.net locking thread-safety

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