为什么PGSQL中不支持Unicode字符θ
Why Unicode Charater θ not supported in PGSQL
我正在用c++使用Postgresql,并试图插入unicode字符αβγδεζηθ
在某个数据库表中执行插入查询,发现'θ'不支持字符
为此我运行gdb。对于这个字符,即。'θ'显示的是直链字符。
- 我可以找到Postgresql支持的字符集吗? Pgsql是否支持此字符
- 有没有办法支持这个字符
备注:我使用c++来执行这个命令。但这并不能挽救这一切价值。2. 数据库是UTF8兼容的,因为当我删除这个'θ'插入查询被成功触发。
是的,PostgreSQL支持θ
,字符 U+03b8
希腊小写字母Theta, unicode转义和文字形式:
regress=> SELECT 'θ', E'u03b8';
?column? | ?column?
----------+----------
θ | θ
(1 row)
猜测,你的数据库编码或客户端编码不支持它,或者更有可能给你提到的"乱码",你的client_encoding
不匹配你实际发送的数据的编码。
检查psql中 我想说你可能发送UTF-8或UTF-16数据到服务器,但告诉服务器它是iso-8859-1或windows-1252,反之亦然。虽然 如果你能展示一下就好了:l
或SHOW server_encoding;
的数据库编码。从问题的客户端连接中获取SHOW client_encoding;
的客户端编码。θ
不是在这些编码;你一定是在使用其他东西,或者在到达PostgreSQL之前发送的数据已经被另一个无效的转换弄乱了。
相关文章:
- 如何存储 unicode 字符并将其输出到文件?
- C++:打印 Unicode 字符
- 在 Windows 中使用 boost::p rogram_options 从命令行参数读取 Unicode 字符
- 获取Unicode字符C++的十进制值
- 用wchar_t处理 unicode 字符好吗?它不会引起任何问题吗?
- C++如何通过忽略每行的第一个字符来读取 unicode 文件
- C++:如何将 unicode 字符打印到文本文件
- 动态计算 unicode 字符
- C Unicode UTF-8解码字符的问题
- 如何替换/忽略 C stdio.h getline() 中的无效 Unicode/UTF8 字符
- 无法使用 Unicode 特殊字符设置窗口文本
- 如何将整数转换为 unicode 字符
- C++20 中的严格别名规则是否允许标准 c++ unicode 字符和下划线类型之间"reinterpret
- MessageBox打印来自TCHAR缓冲区的额外Unicode字符
- 如何将小数NCR转换为Unicode字符(C )
- SQLGetPrivateProfileString 错误地读取 Unicode 字符
- 将 Unicode 字符/字符串写入文件
- 将 Unicode 字符存储在.txt文件中的新行中
- 是否有返回字符UNICODE值的函数?(C++)
- 将字符串宏/常量转换为宽字符/Unicode