小编Omo*_*tis的帖子

Perl的JSON :: XS没有正确编码UTF8?

这个简单的代码段显示了我在Perl中使用JSON :: XS编码的问题:

#!/usr/bin/perl
use strict;
use warnings;
use JSON::XS; 
use utf8;
binmode STDOUT, ":encoding(utf8)";

my (%data);

$data{code} = "Gewürztraminer";
print "data{code} = " . $data{code} . "\n";

my $json_text = encode_json \%data;
print $json_text . "\n";
Run Code Online (Sandbox Code Playgroud)

产生的输出是:

johnnyb@boogie:~/Projects/repos > ./jsontest.pl 
data{code} = Gewürztraminer
{"code":"Gewürztraminer"}
Run Code Online (Sandbox Code Playgroud)

现在,如果我注释掉上面的binmode行,我得到:

johnnyb@boogie:~/Projects/repos > ./jsontest.pl 
data{code} = Gew?rztraminer
{"code":"Gewürztraminer"}
Run Code Online (Sandbox Code Playgroud)

这里发生了什么?请注意,我正在尝试在不能使用binmode的perl CGI脚本中修复此行为,但我总是在JSON流中返回上面返回的"¼"字符.我该如何调试?我错过了什么?

perl json cgi

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

如何将CSS应用于redux-form字段?

如何将任何类型的CSS应用于redux-form Field组件?className和class被静默忽略:

        <div>
          <label>Name</label>
          <div>
            <Field
              className="form-input"
              name="formContactName"
              component="input"
              type="text"
              placeholder="Person to contact"
            />
          </div>
        </div>
Run Code Online (Sandbox Code Playgroud)

我能够通过创建自定义组件来应用样式:

        <div>
          <label>Name</label>
          <div>
            <Field
              name="formContactName"
              component={ customInput }
            />
          </div>
        </div>
Run Code Online (Sandbox Code Playgroud)

但这是一个主要的PITA,并且在很大程度上否定了首先使用redux-form的好处.我错过了什么吗?注意我直接在自定义组件中添加了className分配 - 我意识到我可以通过Field中的道具发送它们.

我尝试了input全局设置样式,但也被忽略了.redux-form网站文档告诉你使用该装备你需要知道的一切,但没有提到我能看到的CSS ......

谢谢,

JB

编辑:这不是重复 - 指向的答案使用自定义输入组件.如上所述,我可以让它工作,但那时首先真的不需要redux-form.

@Jay:通过从在线文档中获取代码,我能够使用自定义组件:

class MyCustomInput extends Component {
  render() {
    const { input: { value, onChange } } = this.props
    return (
      <div>
        <label htmlFor="formContactName" className="col-sm-2 control-label">Name:</label>
        <div className="col-sm-10">
          <input
            id="formContactName"
            placeholder="Person to contact"
            className="form-control"
            type="text"
          />
        </div>
      </div>
    )
  }
} …
Run Code Online (Sandbox Code Playgroud)

css reactjs redux-form

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

在公司网络上变得不安全

C:\Users\me
> go get -insecure github.com/denisenkom/go-mssqldb
# cd .; git clone https://github.com/denisenkom/go-mssqldb C:\Users\me\Projects\Go\src\github.com\denisenkom\go-mssqldb
Cloning into 'C:\Users\me\Projects\Go\src\github.com\denisenkom\go-mssqldb'...
fatal: unable to access 'https://github.com/denisenkom/go-mssqldb/': SSL certificate problem: unable to get local issuer certificate
package github.com/denisenkom/go-mssqldb: exit status 128
Run Code Online (Sandbox Code Playgroud)

根据go help get这个连接应该下拉到http?是的?我误会了吗?我如何让它在没有 https 的情况下工作?

PS:我对尝试修复 https 不感兴趣(在这个 Win10 图像上我无论如何都无法控制)-我已经与那场战斗npm并输了......

编辑:我通过修复全局 git 配置找到了一个可行的答案。我讨厌这样做,但必须…… atom.io/go-plus 似乎没有接受此配置更改,我将 ping 作者。

C:\Users\me
> git config --global http.sslVerify false
Run Code Online (Sandbox Code Playgroud)

go

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

如何在 pyodbc 输出转换器函数中解压 SQL Server DATETIME?

我正在将输出转换器添加到pyodbc连接对象以处理从 SQL Server 返回的日期类型。我能够使用以下命令解压缩datetime.time结构:

tuple   = struct.unpack("HHHI", dateObj)
Run Code Online (Sandbox Code Playgroud)

效果很好。我想不通的秘密武器的datetime.datetime对象,不过,根据pyodbc文档这是一个TIMESTAMP_STRUCT,定义在这里

typedef struct tagTIMESTAMP_STRUCT
{
        SQLSMALLINT    year;
        SQLUSMALLINT   month;
        SQLUSMALLINT   day;
        SQLUSMALLINT   hour;
        SQLUSMALLINT   minute;
        SQLUSMALLINT   second;
        SQLUINTEGER    fraction;
} TIMESTAMP_STRUCT;
Run Code Online (Sandbox Code Playgroud)

数据库中该列的数据是2018-01-11 11:50:16.000,并且没有add_output_convert陷阱 pyodbc 返回:

TypeError: datetime.datetime(2018, 1, 11, 11, 50, 16) is not JSON serializable

看起来 pyodbc 默默地放弃了分数,这很好。unpack()格式不应该是以下之一:

tuple = struct.unpack("hHHHHHI", dateObj)  # with missing fraction
tuple = struct.unpack("hHHHHH", dateObj)
Run Code Online (Sandbox Code Playgroud)

? 后者简单地返回:

error: unpack requires a string …

python sql-server pyodbc python-2.7

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

golang 中的 sqlite3,foreign_keys pragma 不强制执行键

我创建了一个 SQL 文件,该文件加载到 sqlite3 中并为我创建了一堆表。在该 sql 文件中,我尝试使用 pragma 强制foreign_keys:

PRAGMA foreign_keys = on; -- also 1, true
Run Code Online (Sandbox Code Playgroud)

当我使用它加载 sql 文件时,-init它看起来不错:

$ sqlite3 -init sqlite3-empty.sql
-- Loading resources from sqlite3-empty.sql
SQLite version 3.22.0 2018-01-22 18:45:57
Enter ".help" for usage hints.
sqlite> pragma foreign_keys;
1
sqlite> .quit
Run Code Online (Sandbox Code Playgroud)

但是,如果我加载由上面的 sql 文件创建的数据库文件,它不会粘住:

$ sqlite3 unit_test.db
-- Loading resources from /home/me/.sqliterc
SQLite version 3.22.0 2018-01-22 18:45:57
Enter ".help" for usage hints.
sqlite> pragma foreign_keys;
foreign_keys
------------
0
sqlite> .quit
$ cat ~/.sqliterc
.headers …
Run Code Online (Sandbox Code Playgroud)

sqlite go go-sqlite3

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

在python中使用参数组装一个长字符串

尝试使用参数在python 2.7中跨多行组合更长的SQL字符串,类似于:

duration_sql = "select MessageTime, " + \
"Value from [%s] " + \
"where Subsystem=%s and " + \
"Field=%s " + \
"and MessageTime > %s and " + \
"MessageTime < %s" % (i, j, k, l, m)
Run Code Online (Sandbox Code Playgroud)

但我得到一个运行时错误:

TypeError: not all arguments converted during string formatting
Run Code Online (Sandbox Code Playgroud)

如果我允许它是一个没有换行符的长字符串,它可以正常工作.我有什么方法可以打破带参数的行的长字符串?无法弄清楚秘密酱......

python python-2.7

3
推荐指数
2
解决办法
696
查看次数

'checked' 和 (ngModel) 有什么区别

所以我继承了一个不完全从ionic3移植到ionic4的项目。更新某些<ion-checkbox>实例时,我不得不更改:

  <ion-checkbox 
    checked="selected.get(request.id)" 
    (click)="selectItem(request.id)" 
    color="tertiary" 
    slot="start"
  >
Run Code Online (Sandbox Code Playgroud)

到:

  <ion-checkbox 
    (ngModel)="selected.get(request.id)" 
    (click)="selectItem(request.id)" 
    color="tertiary" 
    slot="start"
  >
Run Code Online (Sandbox Code Playgroud)

让它正确切换。的使用checked导致它在每次第一次点击时失火,并且从那一点向前反转值。

(ngModel)在这种情况下到底在做什么?这基本上是离子文档中显示的未记录功能,没有解释或示例使用...

请注意,在同一视图中其他地方使用该布尔值的selectedaMap<number, boolean>和用法按预期工作。

编辑:我知道 HTML 属性和 ng 数据模型之间的区别,我只是不清楚该机制在这里是如何工作的......

angular ionic4

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

如何使多行文本在标签中居中

有没有人知道如何使用 居中(或对齐或以任何方式水平影响)Xamarin Forms Label 中的文本LineBreakMode=WordWrap?不使用 WebView (或类似的)?

HorizontalOptions这段代码片段中的所有条目都被愉快地忽略:

<StackLayout>
    <Label
        Margin="75,0,75,0"
        FontAttributes="Italic"
        FontSize="Large"
        HorizontalOptions="Center"
        LineBreakMode="WordWrap"
        Text="Live life as though nobody is watching, and express yourself as though everyone Is listening."
        VerticalOptions="CenterAndExpand" />
</StackLayout>
Run Code Online (Sandbox Code Playgroud)

看起来是这样的。

xamarin.forms

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