尝试获取简单的插入保存数据,并将法语字符作为方框字符读回。我该如何解决这个问题?
$query = 'insert into category (category_en, category_fr) values
("Seamanship", "Matelotage"),
("General - Histoiry", "Généralités - Histoire")),
("Sailing", "Voile")';
当我显示结果时,我看到了:
G�n�ralit�s � Histoire
我已经注意到,如果我手动将这些字符更改为é
,我可以正确保存它们。
但是,直接从表单中的输入字段保存时,这不适用。在这种情况下,所有法语字符都正确保存。
我尝试将SQLite3.escapestring
应用于上述查询,但仍然失败。
只是想知道是否有更直接的方式而不是手动更改每个角色?
解
utf8_encode()可以解决问题。
$query = utf8_encode('insert into category (category_en, category_fr) values
("Seamanship", "Matelotage"),
("General - Histoiry", "Généralités - Histoire")),
("Sailing", "Voile")';
老实说,当表单输入字段正确保存法语字符时,人们会认为硬编码语句非常符合逻辑。希望这有助于任何寻求快速解决方案的人。