سؤال



حسنا، لذلك تعرض الرموز التعبيرية أساسا ما سبق على جهاز كمبيوتر. هل هذه لغة برمجة أخرى؟ فكيف أضع تلك الصناديق الصغيرة في ملف php؟ عندما أضعها في ملف PHP، يتحول إلى علامات استفهام وما لا. أيضا، كيف يمكنني تخزين هذه في mysql دون أن يتحول إلى علامات استفهام وأشياء غريبة أخرى؟

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

المحلول

كيف أضع تلك الصناديق الصغيرة في ملف php؟

بنفس الطريقة مثل أي شخصية يونيكود أخرى. فقط لصقهم وتأكد من أنك تقوم بحفظ ملف PHP وقدم صفحة PHP مثل UTF-8.

عندما أضعها في ملف PHP، يتحول إلى علامات استفهام وما لا

ثم لديك مشكلة ترميز. اعمل بها بأحرف Unicode يمكنك أن ترى فعلا أولا أولا، على سبيل المثال ąαд™日本, ، قبل القلق بشأن الرموز التعبيرية.

يجب حفظ ملف PHP الخاص بك باسم UTF-8؛ يجب تقديم الصفحة التي تنتجها Content-Type: text/html;charset:UTF-8 (أو مع علامة meta مماثلة)؛ يجب أن تستخدم قاعدة بيانات MySQL تجميع UTF-8 لتخزين البيانات وينبغي أن تتحدث PHP إلى MySQL باستخدام UTF-8.

لكن. حتى التعامل مع كل شيء مثل هذا مثل هذا، فإن أجهزة الكمبيوتر سوف لا تظهر الرموز التعبيرية. ذلك بسبب:

  1. ليس لديهم خطوط تتضمن الأشكال لهذه الأحرف، و

  2. الرموز التعبيرية لا تزال غير مروي تماما. هذه الأحرف التي نشرتها هي في منطقة استخدام Unicode الخاصة، مما يعني أنهم ليس لديهم أي معنى رسمي على الإطلاق.

تستخدم كل شبكة في اليابان رموز أحرف مختلفة لرموز التعبيرية، مع تعيين إلى مناطق مختلفة في PUA. حتى على هاتف محمول آخر، ربما لن يعرض الشخصية الصحيحة، إلا إذا كنت تقضي الأعمار تحويل رموز الرموز التعبيرية يدويا لشبكات مختلفة. أنا أظن تلك التي أرسلتها أعلاه هي من Softbank (iPhone؟).

هناك اقتراح مستمر بقيادة Google و Apple لتوصيل شبكات Emoji المختلفة ومنحها مكانا موحدا صحيحا في Unicode. حتى ذلك الحين، فإن الحصول على الرموز التعبيرية لعرضها باستمرار عبر الشبكات هو ممارسة تعاسة. انظر نظرة عامة على الشخصية من العمل التقييسي لمعرفة مقدار التحويل الذي سيتعين عليك القيام به.

الله، أنا أكره الرموز التعبيرية. كل هذا الألم لمثل هذا الحمل من القمامة عديمة الفائدة

نصائح أخرى

هذا لا علاقة له بلغات البرمجة، فقط التشفير والخطوط. كمنظر موجز للغاية: يتم تخزين كل حرف من خلال رمز الشخصية (على سبيل المثال: 0x41 = A، 0x42 = B، إلخ)، والتي يتم تقديمها كحرف ذات مغزى على شاشتك باستخدام خط (الذي يقول "الشخصية ذات التعليمات البرمجية يجب أن تبدو 0x41 مثل هذا ... ").

هؤلاء الرموز التعبيرية احتلال "منطقة الاستخدام الخاص" التابع Unicode. الجدول، وهو مجموعة من الرموز غير المعروفة وتحرير لأي شخص لاستخدامه. هذا يجعلها رموز حرفية صالحة تماما، فهذا فقط لا يحتوي الخط القياسي على حرف مناسب لعرضه لهم، لأنهم غير محدد. فقط iPhone وغيرها من أجهزة يدوية أخرى، معظمهم في اليابان، لديهم أيقونات مناسبة لهذه الرموز. تم ذلك لإنقاذ عرض النطاق الترددي؛ بدلا من إرسال ملفات الصور الكبيرة نسبيا ذهابا وإيابا، يمكن إرسال الرموزام التعبيرية باستخدام رمز حرف واحد.

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


المشاهد الحرف http://img.skitch.com/20091110-e7nkuqbjrisabrdipk96p4yt59.png.

إذا كنت في OSX، فيمكنك نسخ الشخصية والصقها في عارض الحرف لمعرفة ما هو عليه. أعتقد أن هناك خريطة شخصية مماثلة على Windows (وإن كان أدنى ؛-P). يمكنك وضعه من خلال PHP ord(), ، ولكن هذا يعمل فقط على شخصيات ASCII. انظر المناقشة على ord صفحة لوظائف UTF8.


راجع للشغل، فقط من أجل المتعة، تعرض هذه الشخصيات بشكل جيد على iPhone كما هو، لأن iPhone لديه خط يحتوي على أيقونات لهم:

iPhone http://img.skitch.com/20091110-bjt3tutjxad1kw4p9uhem5jhnk.png.

أنا أستخدم FF3.5 و WinXP. أرى صناديق صغيرة في متصفحي، أيضا.

هذا يخبرني أن السلسلة تتطلب مجموعة شخصية ليس تثبيت على جهاز الكمبيوتر الخاص بي.

عند وضع السلسلة في ملف PHP، تخبرك علامات الاستفهام بنفس الشيء: لا يعرف جهاز الكمبيوتر الخاص بك كيفية عرض الأحرف.

يمكنك تخزين هذه الرموز التعبيرية الأحرف في MySQL إذا قمت بتشفيرها بشكل مختلف، فربما تستخدم UTF-8.

قم بعمل بحث ويب عن ترميز الأحرف، حيث يتعلق الأمر MySQL.

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