【问题标题】:SQLite3 accepts iso-8859-9 over console but not with php querySQLite3 通过控制台接受 iso-8859-9 但不接受 php 查询
【发布时间】:2016-06-27 14:27:24
【问题描述】:

我正在开发一个包含大量土耳其语单词的网站。并且它们需要存储到 sql 数据库中。我出于某种原因使用 SQLite。 当我直接打开 sqlite3 数据库@控制台时,我可以在不设置字符集的情况下将任何字符插入表中。它接受节目,甚至以正确的字符返回我的浏览器。但是当我尝试插入任何东西时,它会插入这样的东西:

2|Kedi|kedi@kopek.  |Selfie çubuğ // This is the one I inserted via console
3|senior|senior@kaba|�ok �eker bir // This one appended by php execution.

我可以做些什么来更改 SQLite3 的字符集吗?(就像在 MYSQL @MySQLAdmin 设置中一样。)

或者有什么方法可以在 UTF-8 和 ISO-8859-9 之间转换转换?

【问题讨论】:

  • 为什么不始终使用 UTF8?
  • UTF-8 I/O 无法在 Windows 控制台中与 sqlite3.exe 一起正常工作。

标签: php sqlite character-encoding


【解决方案1】:

首先,你是如何插入的?复制粘贴?

您为表单提供的编码(字符集)是什么? 试试这个

<form action="turktry.php" accept-charset="ISO-8859-9">
  First name: <input type="text" name="name"><br>
  <input type="submit" value="Submit">
</form>

除非您在数据库中进行字符串搜索,否则不应打扰 sqlite,而且大多数情况下您将需要 ICU。

你写的东西和你读回来的方式之间应该有关系吗?

【讨论】:

    猜你喜欢
    • 2011-08-07
    • 1970-01-01
    • 1970-01-01
    • 2012-03-26
    • 2022-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多