php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 05-02-2008, 19:44
sepp
 Registrierter Benutzer
Links : Onlinestatus : sepp ist offline
Registriert seit: Aug 2007
Beiträge: 296
sepp kann nur auf Besserung hoffen
Standard nur die ersten 10 zeichen

Hallo zusammen,

Ich habe eine Übersicht von Bildern gemacht, welche je einen Titel tragen. Diesen Titel möchte ich in der Übersicht als anbruck darstellen, das heisst es sollen nur die ersten 10 zeichen gefolgt von 3 Punkten dargestelt.
Soweit so gut, funst alles soweit.

Nun habe ich festgestellt das gewisse Worte nicht 10 Zeichen lang sind, weil in der DB die Umlaute zbsp. ü ausgezählt werden.

Wie kann ich das verhindern?

PHP-Code:
SELECT..... left(bild_beschreib10) as bild_beschreib from .....
if (
$bild_beschreib!= ""){$bild_beschreib $row["bild_beschreib"]."...";} 
Für Eure Tipps bednke ich mich.
Mit Zitat antworten
  #2 (permalink)  
Alt 05-02-2008, 19:48
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Sollte MySQL auch nicht mit den Multibytes zurecht kommen?

Also ich würds ganz einfach PHP-Seitig lösen. Da kannste dann auch noch den kompletten String für das title-Attribut des img-Tags verwenden.
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #3 (permalink)  
Alt 05-02-2008, 19:49
tontechniker
 PHP Senior
Links : Onlinestatus : tontechniker ist offline
Registriert seit: Jul 2005
Beiträge: 1.972
tontechniker ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Also ich würds ganz einfach PHP-Seitig lösen. Da kannste dann auch noch den kompletten String für das title-Attribut des img-Tags verwenden.
mb_substr hilft da weiter.
__________________
Die Regeln | rtfm | register_globals | strings | SQL-Injections | []
Mit Zitat antworten
  #4 (permalink)  
Alt 05-02-2008, 20:08
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Ja, PHP-seitig kein Problem. Ne wirkliche Lösung für MySQL wäre da interessanter. Wenn das Problem überhaupt existiert.


EDIT:

Übrigens:

SELECT LEFT( 'HÄLLÖ', 3 ) => HÄL

Auch bei meiner utf8-Tabelle, du scheinst deine encodings falsch zu haben...

__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #5 (permalink)  
Alt 05-02-2008, 20:23
sepp
 Registrierter Benutzer
Links : Onlinestatus : sepp ist offline
Registriert seit: Aug 2007
Beiträge: 296
sepp kann nur auf Besserung hoffen
Standard

Hmm, das bedeutet das mit der richtigen Codierung alles funktioniern sollte?!

Ich habe nun utf8_bin und latain_german2 versucht leider ohne Erfolg.

Aber ist es nicht so das die Select abfrage 1:1 den Inhalt ausliest und demnach zählt? Denn auch bei anderer Codierung steht immer noch ü statt ü
Mit Zitat antworten
  #6 (permalink)  
Alt 05-02-2008, 20:35
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Ich kann dir nicht sagen, woran es bei dir liegt. Fakt ist, dass es gehen sollte (mysql 5 getestet)
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #7 (permalink)  
Alt 05-02-2008, 20:43
sepp
 Registrierter Benutzer
Links : Onlinestatus : sepp ist offline
Registriert seit: Aug 2007
Beiträge: 296
sepp kann nur auf Besserung hoffen
Standard

Sorry, das ich nun nochmal so blöd nachfrage:

Bei Dir steht in der Tabelle HÄLLÖ und er zählt nur 5 Zeichen?
Mit Zitat antworten
  #8 (permalink)  
Alt 05-02-2008, 20:44
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Würde ich (ungetestet) behaupten, zumindest schneidet er korrekt nach dem Dritten Zeichen ab, wie du siehst.
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #9 (permalink)  
Alt 05-02-2008, 20:49
sepp
 Registrierter Benutzer
Links : Onlinestatus : sepp ist offline
Registriert seit: Aug 2007
Beiträge: 296
sepp kann nur auf Besserung hoffen
Standard

Und die Codierung der Tabelle sowie den einzelnen Zeilen ist utf8_bin?
Mit Zitat antworten
  #10 (permalink)  
Alt 05-02-2008, 20:52
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

CHARSET=utf8 japp

Haste auch mal die Verbindung geprüft? Ich teste direkt im admin.
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #11 (permalink)  
Alt 05-02-2008, 21:05
Entilan
 Newbie
Links : Onlinestatus : Entilan ist offline
Registriert seit: Feb 2008
Beiträge: 12
Entilan ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ich weiss das in oracle dies ist:

substr(s,m[,n])
Teilstring von s ab Stelle m, n Zeichen lang (n nicht angegeben => bis Stringende)

Dies sollte mysql auch können.
__________________


Gruss
Entilan

------------------------
SIE LIEBEN ES - WIR VERSICHERN ES!
Mit Zitat antworten
  #12 (permalink)  
Alt 05-02-2008, 21:08
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Klar, aber hier geht es darum, dass die Fkt bei Sepp die Sonderzeichen (Multibyte) doppelt zählt, was meiner Erfahrung nach nicht so sein sollte, wenn die Zeichensätze korrekt eingestellt sind.
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #13 (permalink)  
Alt 05-02-2008, 21:23
Entilan
 Newbie
Links : Onlinestatus : Entilan ist offline
Registriert seit: Feb 2008
Beiträge: 12
Entilan ist zur Zeit noch ein unbeschriebenes Blatt
Standard

jep und so ist es auch. Wenn die korrekt eingestellt ist, dann kann er mit multibyte auch umgehen. Offensichtlich ist dies nicht der fall und denke daher der Sepp weiss nun was zu tun ist.

Wenn nicht => http://dev.mysql.com/doc/refman/5.0/...haracters.html
__________________


Gruss
Entilan

------------------------
SIE LIEBEN ES - WIR VERSICHERN ES!

Geändert von Entilan (05-02-2008 um 21:27 Uhr)
Mit Zitat antworten
  #14 (permalink)  
Alt 05-02-2008, 21:27
tontechniker
 PHP Senior
Links : Onlinestatus : tontechniker ist offline
Registriert seit: Jul 2005
Beiträge: 1.972
tontechniker ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Würde ich (ungetestet) behaupten, zumindest schneidet er korrekt nach dem Dritten Zeichen ab, wie du siehst.
Code:
character set client 	utf8
character set connection utf8
character set results 	utf8

SELECT CHAR_LENGTH('HÄLLÖ') | 5

SELECT CHAR_LENGTH(title) FROM content_pages WHERE id=21 | Brünn | 5
MySQL Zeichensätze
__________________
Die Regeln | rtfm | register_globals | strings | SQL-Injections | []
Mit Zitat antworten
  #15 (permalink)  
Alt 05-02-2008, 21:38
sepp
 Registrierter Benutzer
Links : Onlinestatus : sepp ist offline
Registriert seit: Aug 2007
Beiträge: 296
sepp kann nur auf Besserung hoffen
Standard

Sorry, ich verstehe nicht ganz...wo muss ich nun den Hebel ansetzen' Ich habe bereits erfolglos folgendes versucht.
PHP-Code:
CHAR_LENGTH(bild_beschreib), left(bild_beschreib10
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 12:52 Uhr.