سؤال

ولدي قاعدة بيانات SQLite التي لديها علامات قصاصة في، نحن نترجم قاعدة البيانات إلى السويدية الاستعلام ولكن بلدي قاعدة البيانات الآن لا يعود نتيجة لذلك إذا كانت الأحرف هي غير اللغة الإنجليزية البريطانية.

وعلى سبيل المثال، فيسك == الأسماك وأن يعمل تماما، لكن OST == الشرق ولكن فشل ذلك.

وأنا إنشاء الاستعلام في QString من QLineEdit:

    sqlStatement += QString(" FileID IN (SELECT TLFileID FROM tblTags "
            " INNER JOIN tblTagLinks ON tagId = TLTagId "
            " WHERE tagLanguage LIKE '%1' "
            " AND (tagName LIKE '%2' OR tagName LIKE '%2s' "
            " OR tagLangSWEDISH LIKE '%2' "
            " OR tagLangFINNISH LIKE '%2' "
            " OR tagLangITALIAN LIKE '%2' ))").arg(defaultLanguage, tag);

ومن ثم تحويله إلى QSqlQuery:

qryFiles.prepare(sqlStatement);

if(!qryFiles.exec())

وأنا أعلم أن قاعدة البيانات تحتوي على حرف لأنني قد تم استيراد وتصدير البيانات إلى CSV للمترجمين لترجمة، وذلك باستخدام أداة إدارة سكليتي وإكسل.

هل لديك لفتح قاعدة البيانات بطريقة خاصة؟

وأستخدمه كيو تي 4.5.2، ويندوز XP، VS2008، سكليتي 3.5.1

هل كانت مفيدة؟

المحلول

وأنا أعلم أنه قد يكون واضحا، ولكن هل تحقق ما مجموعات الأحرف ديسيبل وطلبك استخدام؟ اعتقد ان الذي تستخدمه ويندوز الأصلية الترميز في واحد وUTF8 في الآخر.

وعذرا للإجابة واضحة، ولكن هذا هو السبب في معظم المشاكل تدويل بلدي.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top