【问题标题】:How does SQLite save a newline on MSWindows?SQLite 如何在 MSWindows 上保存换行符?
【发布时间】:2014-04-17 07:48:21
【问题描述】:

当文本值包含换行符时,Windows 机器上的 SQLite 会将换行符保存为0x0D0A 还是0x0A


编辑:我问这个问题是因为我想知道如果传递的字符串中有换行符,这个用户定义的 sqlite 函数是否会返回正确的值。

#!/use/bin/env perl
use DBI;
# ...
# ....
$dbh->sqlite_create_function( 'bit_length', 1, sub {
        use bytes;
        return length( $_[0] );
    }
);

【问题讨论】:

  • 它可以保存你手上的任何东西。 SQLite 不会检查内容并更改它,除非您告诉它这样做。
  • 如果您提供几行代码,我(或其他任何人)可以告诉您在 windows 框上发生了什么......现在甚至很难猜测您遇到的问题的确切性质.

标签: windows perl sqlite newline


【解决方案1】:

SQLite 不会自行更改字符串;只要您不使用 function 明确更改它们,它们就会被视为类似于 blob。

如果您的代码中有一个类似"Hello, world!\n" 的字符串,它将保持该换行符样式。 如果您从文件中读取文本,这取决于您的语言如何处理文本文件中的换行符转换,但 Perl 不会在其他地方隐式转换换行符。

【讨论】:

    猜你喜欢
    • 2014-06-29
    • 2021-02-13
    • 1970-01-01
    • 2011-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多